List<SdkType> (@Nullable Predicate<? super SdkTypeId> filter) { List<SdkType> result = new ArrayList<>(); for (SdkType t : SdkType.getAllTypeList()) { if (t.allowCreationByUser() && (filter == null || filter.test(t))) { result.add(t); } } return result; }