Add some documentation
Extract the main data structure to SortedSplitIntegerArray