/** * Copies fields to the given object. * * @param <T> object type * @param p copy * @return the copy */ protected final <T extends Preds> T copy(final T p) { p.last = last; p.pos = pos; return copyType(p); }