def METHOD_NAME(self, outfile):
    if self.where != 1:
        raise error, "can't read fragment, unsupported location"
    infile = open(self.path, "rb")
    if self.length == 0:
        infile.seek(0, 2)
        self.length = infile.tell()
    # Position input file and record new offset from output file
    infile.seek(self.offset)
    # pad to 16 byte boundaries
    offset = outfile.tell()
    if offset % 16:
        offset = offset + 16 - (offset % 16)
    outfile.seek(offset)
    self.offset = offset
    l = self.length
    while l:
        if l > BUFSIZE:
            outfile.write(infile.read(BUFSIZE))
            l = l - BUFSIZE
        else:
            outfile.write(infile.read(l))
            l = 0
    infile.close()