}
for (final Map.Entry<CompiledFunctionDefinition, Set<ValueSpecification>> functionResult : functionResults.entrySet()) {
final CompiledFunctionDefinition function = functionResult.getKey();
for (final ValueSpecification result : functionResult.getValue()) {
if (isSatisfied(requirement, result)) {
final FunctionExclusionGroup group = (_functionExclusionGroups == null) ? null : _functionExclusionGroups.getExclusionGroup(function.getFunctionDefinition());
if ((group == null) || visitedFunctions.add(group)) {
s_logger.debug("Resolving {} to satisfy {}", result, requirement);
final Set<ValueSpecification> resolved = resultWithSatisfiedRequirements(visitedRequirements, visitedFunctions, function, target, requirement, result.compose(requirement));
if (resolved != null) {
if (allResults == null) {