@Override
  public boolean isSame(OperatorDesc other) {
    if (getClass().getName().equals(other.getClass().getName())) {
      UDTFDesc otherDesc = (UDTFDesc) other;
      return Objects.equals(getUDTFName(), otherDesc.getUDTFName()) &&
          Objects.equals(isOuterLateralView(), otherDesc.isOuterLateralView());
    }
    return false;
  }
All member variables should have a setters and getters of the form get&lt;member
name&gt; and set&lt;member name&gt; or else they won't be recreated properly at run
time.
ql/src/java/org/apache/hadoop/hive/ql/plan/UDTFDesc.java