code: def parse_configuration(
          distribution, command_options, ignore_option_errors=False):
      
      options = ConfigOptionsHandler(
          distribution, command_options, ignore_option_errors)
      options.parse()
  
      meta = ConfigMetadataHandler(
          distribution.metadata, command_options, ignore_option_errors,
          distribution.package_dir)
      meta.parse()
  
      return meta, options
docs: Performs additional parsing of configuration options
      for a distribution.
  
      Returns a list of used option handlers.
  
      :param Distribution distribution:
      :param dict command_options:
      :param bool ignore_option_errors: Whether to silently ignore
          options, values of which could not be resolved (e.g. due to exceptions
          in directives such as file:, attr:, etc.).
          If False exceptions are propagated as expected.
      :rtype: list