class ImmutableAppendedList implements List<T> {

    @Override
    public T get( int index ) {
        if (index == (size - 1)) return element;
        return parent.get(index);
    }

    public  ImmutableAppendedList( List<T> parent,
                                  T element );

}