package org.simantics.db.impl.graph; import java.util.AbstractList; import java.util.List; public class RandomAccessSubList extends AbstractList { private final List baseList; private final int fromIndex; private final int length; public RandomAccessSubList(List baseList, int fromIndex, int length) { this.baseList = baseList; this.fromIndex = fromIndex; this.length = length; } @Override public T get(int index) { if(index < 0 || index > length) throw new IndexOutOfBoundsException(); return baseList.get(index+fromIndex); } @Override public int size() { return length; } }