@Override
    public boolean hasNext() {
      return (currentComponent + 1) < components.size()
        || ((currentComponent + 1) == components.size()
          && ((indexWithinComponent + 1) < components.get(currentComponent).size()));
    }
A collection class that contains multiple sub-lists, which allows us to not copy lists. This
class does not support modification. The derived classes that add modifications are not
thread-safe. NOTE: Doesn't implement list as it is not necessary for current usage, feel free to
add.
hbase-common/src/main/java/org/apache/hadoop/hbase/util/ConcatenatedLists.java