boolean (Stream<BuilderInfo> builderInfos, @NotNull ProblemSink problemSink) { builderInfos.map(BuilderInfo::withObtainVia) .filter(BuilderInfo::hasObtainViaAnnotation) .forEach(builderInfo -> { if (StringUtil.isEmpty(builderInfo.getViaFieldName()) == StringUtil.isEmpty(builderInfo.getViaMethodName())) { problemSink.addErrorMessage("inspection.message.syntax.either.obtain.via.field"); problemSink.markFailed(); } if (StringUtil.isEmpty(builderInfo.getViaMethodName()) && builderInfo.isViaStaticCall()) { problemSink.addErrorMessage("inspection.message.obtain.via.is.static.true.not.valid.unless.method.has.been.set"); problemSink.markFailed(); } }); return problemSink.success(); }