code: def parse(cls, fileobj):
          
  
          try:
              length = cls._parse_desc_length_file(fileobj)
          except ValueError as e:
              raise DescriptorError(e)
          pos = fileobj.tell()
          instance = cls(fileobj, length)
          left = length - (fileobj.tell() - pos)
          if left < 0:
              raise DescriptorError("descriptor parsing read too much data")
          fileobj.seek(left, 1)
          return instance
docs: Returns a parsed instance of the called type.
          The file position is right after the descriptor after this returns.
  
          Raises DescriptorError