@@ -0,0 +1,1216 @@
+/*%0D%0A * Copyright 2015 Namihiko Matsumura (https://github.com/n-i-e/)%0D%0A *%0D%0A * Licensed under the Apache License, Version 2.0 (the %22License%22);%0D%0A * you may not use this file except in compliance with the License.%0D%0A * You may obtain a copy of the License at%0D%0A *%0D%0A *      http://www.apache.org/licenses/LICENSE-2.0%0D%0A *%0D%0A * Unless required by applicable law or agreed to in writing, software%0D%0A * distributed under the License is distributed on an %22AS IS%22 BASIS,%0D%0A * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.%0D%0A * See the License for the specific language governing permissions and%0D%0A * limitations under the License.%0D%0A */%0D%0A%0D%0Apackage com.github.n_i_e.deepfolderview;%0D%0A%0D%0Aimport java.util.concurrent.CopyOnWriteArrayList;%0D%0A%0D%0Apublic class NavigatableArrayList%3CT%3E extends CopyOnWriteArrayList%3CT%3E %7B%0D%0A%09int cursor = -1;%0D%0A%0D%0A%09@Override%0D%0A%09public boolean add(T element) %7B%0D%0A%09%09while (size() %3E cursor + 1) %7B%0D%0A%09%09%09remove(cursor+1);%0D%0A%09%09%7D%0D%0A%09%09super.add(element);%0D%0A%09%09cursor++;%0D%0A%09%09return true;%0D%0A%09%7D%0D%0A%0D%0A%09public void navigateNext() %7B%0D%0A%09%09if (size() %3E cursor+1) %7B%0D%0A%09%09%09cursor++;%0D%0A%09%09%7D%0D%0A%09%7D%0D%0A%0D%0A%09public void navigatePrevious() %7B%0D%0A%09%09if (cursor %3E 0) %7B%0D%0A%09%09%09cursor--;%0D%0A%09%09%7D%0D%0A%09%7D%0D%0A%0D%0A%09public T get() %7B%0D%0A%09%09return get(cursor);%0D%0A%09%7D%0D%0A%7D%0D%0A

move from dirtreedb (previous commit was wrong, try again)