@Override
  public boolean equals(Object other) {
    if (other == null || other.getClass() != OrcUnion.class) {
      return false;
    }
    OrcUnion oth = (OrcUnion) other;
    if (tag != oth.tag) {
      return false;
    } else if (object == null) {
      return oth.object == null;
    } else {
      return object.equals(oth.object);
    }
  }
An in-memory representation of a union type.
ql/src/java/org/apache/hadoop/hive/ql/io/orc/OrcUnion.java