private static void sizeLimit(@NotNull CFGBuilder builder,
                                @NotNull PsiMethodCallExpression call,
                                @Nullable SpecialField field,
                                @NotNull RelationType relation) {
    PsiExpression[] args = call.getArgumentList().getExpressions();
    builder.ensure(RelationType.NE, DfTypes.NULL, new ContractFailureProblem(call), JAVA_LANG_ASSERTION_ERROR);
    if ((field == SpecialField.COLLECTION_SIZE || field == SpecialField.ARRAY_LENGTH) && args.length == 1) {
      Integer expectedSize = ObjectUtils.tryCast(ExpressionUtils.computeConstantExpression(args[0]), Integer.class);
      if (expectedSize != null) {
        builder.unwrap(field);
        builder.ensure(relation, DfTypes.intValue(expectedSize), new ContractFailureProblem(call), JAVA_LANG_ASSERTION_ERROR);
      }
    }
  }
private static void sizeLimit(@NotNull CFGBuilder builder,
                                @NotNull PsiMethodCallExpression call,
                                @Nullable SpecialField field,
                                @NotNull RelationType relation)