def adapter(self, adapter):
        """Sets the adapter instance under the "_adapter" property in use by this class.

        Also sets the adapter property for all implemented classes under this category.

        :param adapter: New adapter instance to set for this class and all implemented classes under this category.
        :type adapter: hvac.adapters.Adapter
        """
        self._adapter = adapter
        for implemented_class in self.implemented_classes:
            class_name = implemented_class.__name__.lower()
            getattr(self, self.get_private_attr_name(class_name)).adapter = adapter