public void addPart(Object key, Object value, byte objectType, VersionTag versionTag) {
    int size = objects.size();
    int maxSize = objectTypeArray.length;
    if (size >= maxSize) {
      throw new IndexOutOfBoundsException("Cannot add object part beyond " + maxSize + " elements");
    }
    if (hasKeys) {
      if (key == null) {
        throw new IllegalArgumentException("Cannot add null key");
      }
      keys.add(key);
    }
    objectTypeArray[size] = objectType;
    objects.add(value);
  }
Encapsulates list containing objects, serialized objects, raw byte arrays, or exceptions. It can
optionally also hold the list of associated keys. Assumes that keys are either provided for all
entries or for none.

@since GemFire 5.7
geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/ObjectPartList.java