@Override public E get(int index) { checkElementIndex(index, size()); return forwardList.get(reverseIndex(index)); }
@Override public E get(int index) { checkElementIndex(index, size()); return forwardList.get(reverseIndex(index)); }
@Override public E get(int index) { checkElementIndex(index, size()); return forwardList.get(reverseIndex(index)); }
@Override public ImmutableList<E> subList(int fromIndex, int toIndex) { checkPositionIndexes(fromIndex, toIndex, size()); return forwardList.subList( reversePosition(toIndex), reversePosition(fromIndex)).reverse(); }
@Override public E get(int index) { checkElementIndex(index, size()); return forwardList.get(reverseIndex(index)); }
@Override public ImmutableList<E> subList(int fromIndex, int toIndex) { checkPositionIndexes(fromIndex, toIndex, size()); return forwardList.subList( reversePosition(toIndex), reversePosition(fromIndex)).reverse(); }
@Override public ImmutableList<E> subList(int fromIndex, int toIndex) { checkPositionIndexes(fromIndex, toIndex, size()); return forwardList.subList(reversePosition(toIndex), reversePosition(fromIndex)).reverse(); }
@Override public ImmutableList<E> subList(int fromIndex, int toIndex) { checkPositionIndexes(fromIndex, toIndex, size()); return forwardList.subList( reversePosition(toIndex), reversePosition(fromIndex)).reverse(); }
@Override public ImmutableList<E> subList(int fromIndex, int toIndex) { checkPositionIndexes(fromIndex, toIndex, size()); return forwardList.subList(reversePosition(toIndex), reversePosition(fromIndex)).reverse(); }
@Override public E get(int index) { checkElementIndex(index, size()); return forwardList.get(reverseIndex(index)); }
@Override public ImmutableList<E> subList(int fromIndex, int toIndex) { checkPositionIndexes(fromIndex, toIndex, size()); return forwardList.subList(reversePosition(toIndex), reversePosition(fromIndex)).reverse(); }
@Override public ImmutableList<E> subList(int fromIndex, int toIndex) { checkPositionIndexes(fromIndex, toIndex, size()); return forwardList.subList( reversePosition(toIndex), reversePosition(fromIndex)).reverse(); }
@Override public ImmutableList<E> subList(int fromIndex, int toIndex) { checkPositionIndexes(fromIndex, toIndex, size()); return forwardList.subList( reversePosition(toIndex), reversePosition(fromIndex)).reverse(); }
@Override public ImmutableList<E> subList(int fromIndex, int toIndex) { checkPositionIndexes(fromIndex, toIndex, size()); return forwardList.subList( reversePosition(toIndex), reversePosition(fromIndex)).reverse(); }
private int reversePosition(int index) { return size() - index; }
private int reverseIndex(int index) { return (size() - 1) - index; }
@Override public ImmutableList<E> subList(int fromIndex, int toIndex) { checkPositionIndexes(fromIndex, toIndex, size()); return forwardList.subList(reversePosition(toIndex), reversePosition(fromIndex)).reverse(); }
private int reverseIndex(int index) { return (size() - 1) - index; }
private int reversePosition(int index) { return size() - index; }
@Override public ImmutableList<E> subList(int fromIndex, int toIndex) { checkPositionIndexes(fromIndex, toIndex, size()); return forwardList.subList(reversePosition(toIndex), reversePosition(fromIndex)).reverse(); }