void (Object parent, Object key, Object component) { Object target = get(parent, key); while (target != component) { target = get(parent = target, key = ":next"); // (target != null) } set(parent, key, get(target, ":next")); set(target, ":next", null); set(target, ":parent", null); }