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).

def query(self, time_indices):
    """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).
    """
    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