import java.util.Map; import java.util.Set; import java.util.function.UnaryOperator; final class Example { Map>> test(Map>> mapOfMaps) { return processMap( mapOfMaps, mapOfSets -> { return processMap( mapOfSets, set -> { if (true) { return unionSets(set); } else { return unionSets(set); } }); }); } Set unionSets(Set... sets) { return null; } Map processMap(Map map, UnaryOperator operator) { return null; } }