@Override
  public PdxInstanceFactory writeObject(String fieldName, Object value, boolean checkPortability) {
    if (InternalDataSerializer.is662SerializationEnabled()) {
      boolean alreadyInProgress = InternalDataSerializer.isPdxSerializationInProgress();
      if (!alreadyInProgress) {
        InternalDataSerializer.setPdxSerializationInProgress(true);
        try {
          writer.writeObject(fieldName, value, checkPortability);
        } finally {
          InternalDataSerializer.setPdxSerializationInProgress(false);
        }
      } else {
        writer.writeObject(fieldName, value, checkPortability);
      }
    } else {
      writer.writeObject(fieldName, value, checkPortability);
    }

    return this;
  }
PdxInstances created with this factory can never be deserialized but you can access their fields
just like any other pdx.
<p>
The current implementation of this interface is meant for internal use only. The way it defines a
PdxType is expensive since it can never figure out it is already defined without doing an
expensive check in the type registry. We should optimize this before making this a public
feature.
geode-core/src/main/java/org/apache/geode/pdx/internal/PdxInstanceFactoryImpl.java