code: def register(self, object_tool_class, model_class=None):
          
          if not object_tool_class:
              return None
  
          # Don't validate unless required.
          if object_tool_class and settings.DEBUG:
              from object_tools.validation import validate
              validate(object_tool_class, model_class)
              # = lambda model, adminclass: None
  
          if not model_class:
              models = get_models()
          else:
              models = [model_class, ]
  
          for model in models:
              if model._meta.abstract:
                  raise ImproperlyConfigured(
                      'The model %s is abstract, so it \
                      cannot be registered with object tools.' % model.__name__)
  
              # Instantiate the object_tools class to save in the registry
              if model in self._registry:
                  self._registry[model].append(object_tool_class(model))
              else:
                  self._registry[model] = [object_tool_class(model), ]
docs: Registers the given model(s) with the given object tool class.
  
          The model(s) should be Model classes, not instances.
  
          If a model class isn't given the object tool class will be registered
          for all models.
  
          If a model is already registered, this will raise AlreadyRegistered.
  
          If a model is abstract, this will raise ImproperlyConfigured.