def METHOD_NAME(self):
    # read record fields as an array
    fields = {}
    flist = self.aslist()
    numfields = len(flist)
    for i in range(numfields):
        line = flist[i]
        if line and line[0].isalpha():
            field = line.split()
            if i + 1 < numfields:
                if not flist[i + 1][0].isalpha():
                    fields[field[0]] = self.read_array_field(
                        flist[i : i + int(field[1]) + 1]
                    )
                else:
                    fields[field[0]] = " ".join(s for s in field[1:])
            else:
                fields[field[0]] = " ".join(s for s in field[1:])
        else:
            continue
    return fields