Javadoc
Given token T and AbstractBounds ?L,R?, returns Pair(?L,T], (T,R?),
where ? means that the same type of AbstractBounds is returned as the original.
Put another way, returns a Pair of everything this AbstractBounds contains
up to and including the split position, and everything it contains after
(not including the split position).
The original AbstractBounds must either contain the position T, or T
should be equals to the left bound L.
If the split would only yield the same AbstractBound, null is returned
instead.