protected Hook project(Hook hook) { tempHook.start = hook.start; tempHook.end = hook.end; tempHook.state = gp.project(hook.state); tempHook.head = hook.head; tempHook.tag = hook.tag; tempHook.subState = gp.project(hook.subState); return tempHook; }