code: def _read_data(self, stream, result):
          
          chunks = []
          log.debug("Reading data from stream %r..." % stream.__repr__())
  
          while True:
              data = stream.read(1024)
              if len(data) == 0:
                  break
              chunks.append(data)
              log.debug("Read %4d bytes" % len(data))
  
          # Join using b'' or '', as appropriate
          result.data = type(data)().join(chunks)
          log.debug("Finishing reading from stream %r..." % stream.__repr__())
          log.debug("Read %4d bytes total" % len(result.data))
docs: Incrementally read from ``stream`` and store read data.
  
          All data gathered from calling ``stream.read()`` will be concatenated
          and stored as ``result.data``.
  
          :param stream: An open file-like object to read() from.
          :param result: An instance of one of the :ref:`result parsing classes
              <parsers>` from :const:`~gnupg._meta.GPGBase._result_map`.