private PdxReaderImpl prepForOrderedReading() {
    PdxReaderImpl result = this;
    if (dis instanceof PdxInputStream) {
      result = new PdxReaderImpl(this);
    }
    int pos = 0;
    if (result.blobType.getFieldCount() > 0) {
      pos = getPositionForField(result.blobType.getFields().get(0));
    }
    result.dis.position(pos);
    return result;
  }
Return a reader that can do ordered reading.
geode-core/src/main/java/org/apache/geode/pdx/internal/PdxReaderImpl.java