RMNode<T> (@NotNull T key, int start, int end, boolean greedyToLeft, boolean greedyToRight, boolean stickingToRight, int layer) { return new RMNode<>(this, key, start, end, greedyToLeft, greedyToRight, stickingToRight); }