docs: def _prepare_request_data(self, eopatch, bbox, time_interval):
          """ Collects all parameters used for DataRequest, each one is taken either from initialization parameters or
          from EOPatch
          """
  
          service_type = ServiceType(self._get_parameter('service_type', eopatch))
          if time_interval is None:
              time_interval = self._get_parameter('time_interval', eopatch)
          if service_type is ServiceType.WMS:
              size_x_name, size_y_name = 'width', 'height'
          else:
              size_x_name, size_y_name = 'resx', 'resy'
          return {
              'layer': self.layer,
              'bbox': bbox if bbox is not None else self._get_parameter('bbox', eopatch),
              'time': time_interval,
              'time_difference': self._get_parameter('time_difference', eopatch),
              'maxcc': self._get_parameter('maxcc', eopatch),
              'image_format': self.image_format,
              'custom_url_params': self.custom_url_params,
              'data_source': self.data_source,
              'instance_id': self.instance_id,
              size_x_name: self._get_parameter('size_x', eopatch),
              size_y_name: self._get_parameter('size_y', eopatch)
          }, service_type