docs: def get_attribute_options(self, attribute=None):
          """
          Returns a copy of the mapping options for the given attribute name
          or a copy of all mapping options, if no attribute name is provided.
          All options that were not explicitly configured are given a default
          value of `None`.
  
          :param tuple attribute_key: attribute name or tuple specifying an
            attribute path.
          :returns: mapping options dictionary (including default `None` values)
          """
          attribute_key = self.__make_key(attribute)
          if attribute_key is None:
              opts = defaultdict(self._default_attributes_options.copy)
              for attr, mp_options in iteritems_(self.__attribute_options):
                  opts[attr].update(mp_options)
          else:
              opts = self._default_attributes_options.copy()
              attr_opts = self.__attribute_options[attribute_key]
              opts.update(attr_opts)
          return opts