@Override
  public void addPart(Object key, Object value, byte objectType, VersionTag versionTag) {
    if (logger.isTraceEnabled(LogMarker.VERSIONED_OBJECT_LIST_VERBOSE)) {
      logger.trace(LogMarker.VERSIONED_OBJECT_LIST_VERBOSE, "addPart({}; {}; {}; {}", key, value,
          objectType, versionTag);
    }
    super.addPart(key, value, objectType, versionTag);
    if (regionIsVersioned) {
      int tagsSize = versionTags.size();
      if (keys != null && (tagsSize != keys.size() - 1)) {
        // this should not happen - either all or none of the entries should have tags
        throw new InternalGemFireException();
      }
      if (objects != null && (objects.size() > 0)
          && (tagsSize != objects.size() - 1)) {
        // this should not happen - either all or none of the entries should have tags
        throw new InternalGemFireException();
      }
      // Assert.assertTrue(versionTag != null);
      versionTags.add(versionTag);
    }
  }
add a new entry to the list

@param key the entry's key
@param versionTag the version tag for the entry, or null if there is no version information
       available
geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/VersionedObjectList.java