docs: public void store(Object obj) throws PersistenceBrokerException
      {
          obj = extractObjectToStore(obj);
          // only do something if obj != null
          if(obj == null) return;
  
          ClassDescriptor cld = getClassDescriptor(obj.getClass());
          /*
          if one of the PK fields was null, we assume the objects
          was new and needs insert
          */
          boolean insert = serviceBrokerHelper().hasNullPKField(cld, obj);
          Identity oid = serviceIdentity().buildIdentity(cld, obj);
          /*
          if PK values are set, lookup cache or db to see whether object
          needs insert or update
          */
          if (!insert)
          {
              insert = objectCache.lookup(oid) == null
                  && !serviceBrokerHelper().doesExist(cld, oid, obj);
          }
          store(obj, oid, cld, insert);
      }