static List < JClass > allConcreteClasses ( Set < ClassOutline > classes , Set < JClass > directClasses ) { List < JClass > results = new ArrayList <> ( ) ; classes . stream ( ) . filter ( classOutline -> ! classOutline . target . isAbstract ( ) ) . forEach ( classOutline -> { JClass implClass = classOutline . implClass ; results . add ( implClass ) ; } ) ; results . addAll ( directClasses ) ; return results ; }
Returns all of the concrete classes plus the direct classes passed in