private List<IMethodInstance> expandMethod(IMethodInstance method) { List<IMethodInstance> extendedMethods = Lists.newArrayList(); Set<Set<Requirement>> testSpecificRequirements = testSpecificRequirementsResolver.resolve(method.getMethod()); if (testSpecificRequirements.size() == 1) { extendedMethods.add(new MethodInstance(new RequirementsAwareTestNGMethod(method.getMethod(), getOnlyElement(testSpecificRequirements)))); } else { for (Set<Requirement> requirementSet : testSpecificRequirements) { TestNGMethod clonedMethod = (TestNGMethod) method.getMethod().clone(); extendedMethods.add(new MethodInstance(new RequirementsAwareTestNGMethod(clonedMethod, requirementSet))); } } return extendedMethods; }