code: def query(self, time_indices):
      
      if self._disposed:
        raise ValueError(
            'Cannot query: this _WatchStore instance is already disposed')
      if not isinstance(time_indices, (tuple, list)):
        time_indices = [time_indices]
      output = []
      for time_index in time_indices:
        if isinstance(self._data[time_index], _TensorValueDiscarded):
          output.append(None)
        else:
          data_item = self._data[time_index]
          if (hasattr(data_item, 'dtype') and
              tensor_helper.translate_dtype(data_item.dtype) == 'string'):
            _, _, data_item = tensor_helper.array_view(data_item)
            data_item = np.array(
                tensor_helper.process_buffers_for_display(data_item),
                dtype=np.object)
          output.append(data_item)
  
      return output
docs: Query the values at given time indices.
  
      Args:
        time_indices: 0-based time indices to query, as a `list` of `int`.
  
      Returns:
        Values as a list of `numpy.ndarray` (for time indices in memory) or
        `None` (for time indices discarded).