Change Predicate<Node> to Predicate<T extends Node>.
Refactor offset() and remove OffsetTarget.