((struct branch *)*base)->key = key[index] - ZERO_OFFSET;
                        ((struct branch *)*base)->next = NULL;
                        ((struct branch *)*base)->child = NULL;
                        ret = lookupLeaf(&(((struct branch *)*base)->child), key, index + 1);
                /* Leaf level */
                } else {
                        ((struct branch *)*base)->key = key[index] - ZERO_OFFSET;
                        ((struct branch *)*base)->next = NULL;
                        ((struct branch *)*base)->child = NULL;
                        ret = lookupLeaf(&(((struct branch *)*base)->child), key, index + 1);
                /* Leaf level */
                } else {