@NotNull
  private ThreeState contractApplies(@NotNull PsiCallExpression call, @NotNull MethodContract contract) {
    List<ContractValue> conditions = contract.getConditions();
    for (ContractValue condition : conditions) {
      DfaCondition cond = condition.fromCall(getFactory(), call);
      if (cond == DfaCondition.getTrue()) return ThreeState.YES;
      if (cond == DfaCondition.getFalse()) return ThreeState.NO;
    }
    return ThreeState.UNSURE;
  }
@NotNull
  private ThreeState contractApplies(@NotNull PsiCallExpression call, @NotNull MethodContract contract)