def __init__(self, name):
        HardwareObject.__init__(self, name)

        self._ispyb_model = queue_model_objects.RootNode()
        self._ispyb_model._node_id = 0
        self._free_pin_model = queue_model_objects.RootNode()
        self._free_pin_model._node_id = 0
        self._plate_model = queue_model_objects.RootNode()
        self._plate_model._node_id = 0

        self._models = {
            "ispyb": self._ispyb_model,
            "free-pin": self._free_pin_model,
            "plate": self._plate_model,
        }

        self._selected_model = self._ispyb_model
    def clear_model(self, name=None):
        """
        Clears the model with name <name>, clears all if name is None

        :param name: The name of the model to clear.
        :type name: str

        :returns: None
        :rtype: NoneType
        """
        self._models[name] = queue_model_objects.RootNode()

        if not name:
            for name in self._models.keys():
                self._models[name] = queue_model_objects.RootNode()

        HWR.beamline.queue_manager.clear()
    def clear_model(self, name):
        """
        Clears the model with name <name>

        :param name: The name of the model to clear.
        :type name: str

        :returns: None
        :rtype: NoneType
        """
        self._models[name] = queue_model_objects.RootNode()
        self.queue_hwobj.clear()