ProblemDescriptor[] (@NotNull PsiMethod method, @NotNull InspectionManager manager, boolean isOnTheFly) { final Collection<PsiParameter> parameters = filterFinal(method.getParameterList().getParameters()); final PsiCodeBlock body = method.getBody(); if (body == null || parameters.isEmpty() || isOverrides(method)) { return ProblemDescriptor.EMPTY_ARRAY; } Collection<PsiParameter> writtenBeforeReadParameters = getWriteBeforeRead(parameters, body); if (writtenBeforeReadParameters.isEmpty() || MethodUtils.isOverridden(method)) { return ProblemDescriptor.EMPTY_ARRAY; } final List<ProblemDescriptor> result = new ArrayList<>(); for (PsiParameter parameter : writtenBeforeReadParameters) { final PsiIdentifier identifier = parameter.getNameIdentifier(); if (identifier != null && identifier.isPhysical()) { result.add(createProblem(manager, identifier, isOnTheFly)); } } return result.toArray(ProblemDescriptor.EMPTY_ARRAY); }