@Override
  public void toData(DataOutput out) throws IOException {
    DataSerializer.writeString(fieldName, out);
    out.writeInt(fieldIndex);
    out.writeInt(varLenFieldSeqId);
    DataSerializer.writeEnum(type, out);
    out.writeInt(relativeOffset);
    out.writeInt(vlfOffsetIndex);
    {
      // pre 8.1 we wrote a single boolean
      // 8.1 and after we write a byte whose bits are:
      // 1: identityField
      // 2: deleted
      byte bits = 0;
      if (identityField) {
        bits |= IDENTITY_BIT;
      }
      // Note that this code attempts to only set the DELETED_BIT
      // if serializing for 8.1 or later.
      // But in some cases 8.1 serialized data may be sent to a pre 8.1 member.
      // In that case if this bit is set it will cause the pre 8.1 member
      // to set identityField to true.
      // For this reason the pdx delete-field command should only be used after
      // all member have been upgraded to 8.1 or later.
      KnownVersion sourceVersion = StaticSerialization.getVersionForDataStream(out);
      if (sourceVersion.isNotOlderThan(KnownVersion.GFE_81)) {
        if (deleted) {
          bits |= DELETED_BIT;
        }
      }
      out.writeByte(bits);
    }
  }
Used by {@link PdxInstanceImpl#equals(Object)} to act as if it has a field whose value is
always the default.
geode-core/src/main/java/org/apache/geode/pdx/internal/PdxField.java