@Override
      public void beforeUpdate(EntryEvent<Object, Object> event) throws CacheWriterException {
        if (!event.getRegion().get(event.getKey()).equals(event.getNewValue())) {
          PdxRegistryMismatchException ex = new PdxRegistryMismatchException(
              "Trying to add a PDXType with the same id as an existing PDX type. id="
                  + event.getKey() + ", existing pdx type " + event.getOldValue() + ", new type "
                  + event.getNewValue());
          throw new CacheWriterException(ex);
        }
      }
The region where the PDX metadata is stored. Because this region is transactional for our
internal updates but we don't want to participate in the users transactions, all operations on
this region must suspend any existing transactions with suspendTX/resumeTX.
geode-core/src/main/java/org/apache/geode/pdx/internal/PeerTypeRegistration.java