private static boolean hasType ( final Set<TypeSystem> ctx, final TypeSystem typeSystem, final TypeDefinition type ) { if ( ctx.contains ( typeSystem ) ) { return false; } ctx.add ( typeSystem ); if ( typeSystem.getTypes ().contains ( type ) ) { return true; } for ( final TypeSystem include : typeSystem.getIncludes () ) { if ( hasType ( ctx, include, type ) ) { return true; } } return false; } }
private static boolean hasType ( final Set<TypeSystem> ctx, final TypeSystem typeSystem, final TypeDefinition type ) { if ( ctx.contains ( typeSystem ) ) { return false; } ctx.add ( typeSystem ); if ( typeSystem.getTypes ().contains ( type ) ) { return true; } for ( final TypeSystem include : typeSystem.getIncludes () ) { if ( hasType ( ctx, include, type ) ) { return true; } } return false; } }