code: def read(self, size=-1):
          
          lines = []
          parsed_size = 0
  
          while True:
              line = self.readline()
              if not line:
                  break
              lines.append(line)
              parsed_size += len(line)
              if size and size > 0 and parsed_size >= size:
                  break
  
          return ''.join(lines)
docs: Read `size` bytes from the reader relative to the parsed output.
          This is generally acceptable in practice since VCF lines are
          condensed, but if the output line <<< record, this means the actual
          memory used will be much greater than `size`.