docs: def mask(self, table):
          """
          Use the current Query object to count the number of entries in `table`
          that satisfy `queries`.
  
          Parameters
          ----------
          table : NumPy structured array, astropy Table, etc.
  
          Returns
          -------
          mask : numpy bool array
          """
          if self._operator is None:
              if self._operands is None:
                  return np.ones(self._get_table_len(table), dtype=np.bool)
              else:
                  return self._create_mask(table, self._operands)
  
          if self._operator == 'NOT':
              return ~self._operands.mask(table)
  
          if self._operator == 'AND':
              op_func = np.logical_and
          elif self._operator == 'OR':
              op_func = np.logical_or
          elif self._operator == 'XOR':
              op_func = np.logical_xor
  
          mask_this = self._operands[0].mask(table)
          for op in self._operands[1:]:
              mask_this = op_func(mask_this, op.mask(table), out=mask_this)
  
          return mask_this