@Override
    public String toString() {
      StringBuilder b = new StringBuilder("Argument Count = ");
      b.append(argCount);
      b.append(", mode = ");
      b.append(mode);
      b.append(", Argument Types = {");
      for (int i = 0; i < argCount; i++) {
        if (i != 0) {
          b.append(",");
        }
        b.append(argTypes[i]);
      }
      b.append("}");

      b.append(", Input Expression Types = {");
      for (int i = 0; i < argCount; i++) {
        if (i != 0) {
          b.append(",");
        }
        b.append(exprTypes[i]);
      }
      b.append("}");
      return b.toString();
    }
Descriptor is immutable and is constructed by the {@link Builder} only. {@link #equals(Object)} is the only
publicly exposed member which can be used to compare two descriptors.
ql/src/java/org/apache/hadoop/hive/ql/exec/vector/VectorExpressionDescriptor.java