Collection<PsiMethod> (@NotNull PsiClass containingClass, @Nullable PsiMethod psiMethod, @NotNull PsiClass builderPsiClass, @NotNull PsiAnnotation psiAnnotation) { final List<BuilderInfo> builderInfos = createBuilderInfos(psiAnnotation, containingClass, psiMethod, builderPsiClass); return builderInfos.stream() .filter(BuilderInfo::hasBuilderDefaultAnnotation) .filter(b -> !b.hasSingularAnnotation()) .filter(b -> !b.hasNoInitializer()) .map(BuilderHandler::createBuilderDefaultProviderMethod) .collect(Collectors.toList()); }