def METHOD_NAME(self, end, size, byte_width):
    """Decodes the flexbuffer type vector. Map keys are stored in this form"""
    # Keys are strings here. The format is all strings separated by null, followed by back
    # offsets for each of the string. For example, (str1)\0(str1)\0(offset1)(offset2) The end
    # pointer is pointing at the end of all strings
    keys = list()
    for i in range(0, size):
        offset_pos = end + i * byte_width
        start_index = self.indirect_jump(offset_pos, byte_width)
        str_size = self.buffer[start_index:].find(b"\0")
        assert str_size != -1
        s = self.buffer[start_index : start_index + str_size].decode("utf-8")
        keys.append(s)
    return keys