optaplanner-core/src/main/java/org/optaplanner/core/impl/domain/solution/descriptor/SolutionDescriptor.java
public Collection<Object> getAllFacts(Solution_ solution) {
        Collection<Object> facts = new ArrayList<>();
        // Adds both entities and facts
        Arrays.asList(entityMemberAccessorMap, problemFactMemberAccessorMap)
                .forEach(map -> map.forEach((key, memberAccessor) -> {
            Object object = extractMemberObject(memberAccessor, solution);
            if (object != null) {
                facts.add(object);
            }
        }));
        entityCollectionMemberAccessorMap.forEach(
                (key, memberAccessor) -> facts.addAll(extractMemberCollectionOrArray(memberAccessor, solution, false)));
        problemFactCollectionMemberAccessorMap.forEach(
                (key, memberAccessor) -> facts.addAll(extractMemberCollectionOrArray(memberAccessor, solution, true)));
        return facts;
    }
public Collection<Object> getAllFacts(Solution_ solution) {
        Collection<Object> facts = new ArrayList<>();
        // Adds both entities and facts
        Arrays.asList(entityMemberAccessorMap, problemFactMemberAccessorMap)
                .forEach(map -> map.forEach((key, memberAccessor) -> {
            Object object = extractMemberObject(memberAccessor, solution);
            if (object != null) {
                facts.add(object);
            }
        }));
        entityCollectionMemberAccessorMap.forEach(
                (key, memberAccessor) -> facts.addAll(extractMemberCollectionOrArray(memberAccessor, solution, false)));
        problemFactCollectionMemberAccessorMap.forEach(
                (key, memberAccessor) -> facts.addAll(extractMemberCollectionOrArray(memberAccessor, solution, true)));
        return facts;
    }
public Collection < Object > getAllFacts ( Solution_ solution ) { Collection < Object > facts = new ArrayList <> ( ) ; // Adds both entities and facts Arrays . asList ( entityMemberAccessorMap , problemFactMemberAccessorMap ) . forEach ( map -> map . forEach ( ( key , memberAccessor ) -> { Object object = extractMemberObject ( memberAccessor , solution ) ; if ( object != null ) { facts . add ( object ) ; } } ) ) ; entityCollectionMemberAccessorMap . forEach ( ( key , memberAccessor ) -> facts . addAll ( extractMemberCollectionOrArray ( memberAccessor , solution , false ) ) ) ; problemFactCollectionMemberAccessorMap . forEach ( ( key , memberAccessor ) -> facts . addAll ( extractMemberCollectionOrArray ( memberAccessor , solution , true ) ) ) ; return facts ; }
************************************************************************
************************************************************************