def METHOD_NAME(self, data):
    self.values = []
    if self.local:
        return True
    if len(data) < (self.HEADER_SIZE + self.contentLen):
        return False
    remaining = self.HEADER_SIZE + self.contentLen - self.consumed()
    if len(data) < remaining:
        return False
    while remaining >= 3:
        valueType = struct.unpack("!B", bytes(bytearray([data[self.offset]])))[0]
        self.offset = self.offset + 1
        valueLen = struct.unpack("!H", data[self.offset:self.offset+2])[0]
        self.offset = self.offset + 2
        remaining = remaining - 3
        if valueLen > 0:
            if valueLen > remaining:
                return False
            self.values.append([valueType, data[self.offset:self.offset+valueLen]])
            self.offset = self.offset + valueLen
            remaining = remaining - valueLen
        else:
            self.values.append([valueType, ""])
    return True