private Map<PsiElement, @InspectionMessage String> getErrors() {
      HashMap<PsiElement, @InspectionMessage String> errors = new HashMap<>();
      for (PsiElement element : myViolations) {
        if (!myNonViolations.contains(element)) {
          errors.put(element, JavaAnalysisBundle.message("inspection.contract.checker.contract.violated", myContract));
        }
      }

      if (!myContract.getReturnValue().isFail()) {
        if (myOwnContract && !myMayReturnNormally &&
            !(PsiUtil.canBeOverridden(myMethod) && ControlFlowUtils.methodAlwaysThrowsException(myMethod))) {
          for (PsiElement element : myFailures) {
            if (myContract.isTrivial()) {
              errors.put(element, JavaAnalysisBundle.message("inspection.contract.checker.method.always.fails.trivial", myContract));
            }
            else {
              errors.put(element, JavaAnalysisBundle.message("inspection.contract.checker.method.always.fails.nontrivial", myContract));
            }
          }
        }
      } else if (myFailures.isEmpty() && errors.isEmpty() && myMayReturnNormally) {
        PsiIdentifier nameIdentifier = myMethod.getNameIdentifier();
        errors.put(nameIdentifier != null ? nameIdentifier : myMethod,
                   JavaAnalysisBundle.message("inspection.contract.checker.no.exception.thrown", myContract));
      }

      return errors;
    }
private Map<PsiElement, @InspectionMessage String> getErrors()