void addPattern(@NotNull Statement statement,
                    @Nullable Exprent guard,
                    @NotNull Statement caseStatement,
                    @Nullable VarExprent assignedName) {
      patternsByStatement.compute(statement, (key, value) -> {
        if (value == null) {
          value = new ArrayList<>();
        }
        value.add(new PatternStatement(key, guard, caseStatement, assignedName));
        return value;
      });
    }
void addPattern(@NotNull Statement statement,
                    @Nullable Exprent guard,
                    @NotNull Statement caseStatement,
                    @Nullable VarExprent assignedName)