@Override
  public String toString() {
    StringJoiner joiner = new StringJoiner(", ");
    for (PatternEvaluator componentEvaluator : myComponentEvaluators) {
      joiner.add(componentEvaluator.toString());
    }
    return myTypeEvaluator + "(" + joiner + ") " + (myVariableEvaluator != null ? myVariableEvaluator : "");
  }
@Override
  public String toString()