docs: @Override
      public void save(T object, AccessControlContext accessControlContext)
              throws OptimisticLockException, AccessControlException, JeppettoException {
          ensureAccessControlEnabled();
  
          T enhancedEntity = dirtyableDBObjectEnhancer.enhance(object);
          DirtyableDBObject dbo = (DirtyableDBObject) enhancedEntity;
  
          if (dbo.isPersisted(dbCollection)) {
              verifyWriteAllowed(dbo, accessControlContext);
          } else {
              if (dbo.get(ID_FIELD) == null) {
                  dbo.put(ID_FIELD, new ObjectId());  // If the id isn't explicitly set, assume intent is for mongo ids
              }
  
              assessAndAssignAccessControl(dbo, accessControlContext);
          }
  
          DBObject identifyingQuery = buildIdentifyingQuery(dbo);
  
          if (MongoDBSession.isActive()) {
              MongoDBSession.trackForSave(this, identifyingQuery, enhancedEntity, createIdentifyingQueries(dbo));
          } else {
              trueSave(identifyingQuery, dbo);
          }
      }