code: public <T extends DObject> T registerObject (T object)
      {
          if (_dobjThread != null && !isDispatchThread()) {
              log.warning("Registering DObject on non-dobject thread",
                          "class", object.getClass().getName(), new Exception());
          }
  
          int oid = getNextOid();
  
          // initialize this object
          object.setOid(oid);
          object.setManager(this);
  
          // set the default access controller if a controller hasn't already been specified
          if (object.getAccessController() == null) {
              object.setAccessController(_defaultController);
          }
  
          // insert it into the table
          _objects.put(oid, object);
  
  //         log.info("Registered object", "obj", object);
  
          return object;
      }
docs: from interface RootDObjectManager