docs: def _read_data(file_obj, fo_encoding, value_count, bit_width):
      """Read data from the file-object using the given encoding.
  
      The data could be definition levels, repetition levels, or actual values.
      """
      vals = []
      if fo_encoding == parquet_thrift.Encoding.RLE:
          seen = 0
          while seen < value_count:
              values = encoding.read_rle_bit_packed_hybrid(file_obj, bit_width)
              if values is None:
                  break  # EOF was reached.
              vals += values
              seen += len(values)
      elif fo_encoding == parquet_thrift.Encoding.BIT_PACKED:
          raise NotImplementedError("Bit packing not yet supported")
  
      return vals