@Override
    public void beforeValueReturn(@NotNull DfaValue value,
                                  @Nullable PsiExpression expression,
                                  @NotNull PsiElement context,
                                  @NotNull DfaMemoryState state) {
      if (context != myMethod || expression == null || state.isEphemeral()) return;
      if (!myContract.getReturnValue().isValueCompatible(state, value)) {
        myViolations.add(expression);
      } else {
        myNonViolations.add(expression);
      }
    }
@Override
    public void beforeValueReturn(@NotNull DfaValue value,
                                  @Nullable PsiExpression expression,
                                  @NotNull PsiElement context,
                                  @NotNull DfaMemoryState state)