Bug 315281 update copyrights for 3.6
bundles/org.eclipse.core.databinding.observable/src/org/eclipse/core/databinding/observable/list/ListDiff.java
public static List cat(List a, List b) {
			if (a.isEmpty()) {
				if (b.isEmpty()) {
					return Collections.EMPTY_LIST;
				}
				return b;
			} else if (b.isEmpty()) {
				return a;
			}
			return new ConcatList(new List[] { a, b });
		}
		private ConcatList(List[] sublists) {
			this.subLists = sublists;
		}
		public Object get(int index) {
			int offset = 0;
			for (int i = 0; i < subLists.length; i++) {
				int subListIndex = index - offset;
				if (subListIndex < subLists[i].size()) {
					return subLists[i].get(subListIndex);
				}
				offset += subLists[i].size();
			}
			throw new IndexOutOfBoundsException();
		}
		public int size() {
			int size = 0;
			for (int i = 0; i < subLists.length; i++) {
				size += subLists[i].size();
			}