def _create_model(self, view_getter=None, source_getters=None,
                      model_factory=None, officer=None):
        """
        Creates a model from the model factory after retrieving
        the source and the view. The officer is the IOfficer
        FOR THE MODEL TO BE CREATED and NO OFFICER CHECKS ARE PERFORMED.
        """

        if view_getter is not None:
            d = defer.succeed(view_getter)
            d.addCallback(self._retrieve_view)
            d.addCallback(self._check_view)
        else:
            # views are inherited
            d = defer.succeed(self.model.view)

        d.addCallback(self._retrieve_model, source_getters,
                      model_factory, officer)

        d.addErrback(self._filter_errors)
        return d
Creates a model from the model factory after retrieving
        the source and the view. The officer is the IOfficer
        FOR THE MODEL TO BE CREATED and NO OFFICER CHECKS ARE PERFORMED.