List<BuilderInfo> (@NotNull PsiAnnotation psiAnnotation, @NotNull PsiClass psiClass, @Nullable PsiMethod psiClassMethod, @NotNull PsiClass builderClass) { final PsiSubstitutor builderSubstitutor = getBuilderSubstitutor(psiClass, builderClass); final String accessVisibility = getBuilderInnerAccessVisibility(psiAnnotation); final String setterPrefix = getSetterPrefix(psiAnnotation); final LombokNullAnnotationLibrary nullAnnotationLibrary = ConfigDiscovery.getInstance().getAddNullAnnotationLombokConfigProperty(psiClass); return createBuilderInfos(psiClass, psiClassMethod) .map(info -> info.withSubstitutor(builderSubstitutor)) .map(info -> info.withBuilderClass(builderClass)) .map(info -> info.withVisibilityModifier(accessVisibility)) .map(info -> info.withSetterPrefix(setterPrefix)) .map(info -> info.withNullAnnotationLibrary(nullAnnotationLibrary)) .collect(Collectors.toList()); }