static void reverseList(List<Object>list) {
		Collections.reverse(list);
		if (list.size()<18||list instanceof RandomAccess) {
			for (int l=0,r=list.size()-1;l<r;++l,--r) Collections.swap(list, l,r);
		} else {
			ListIterator<Object> fwd=list.listIterator(),bwd=list.listIterator(list.size()-1);
			for (int i=0;i<list.size()/2;++i) {
				Object tmp=fwd.next();
				fwd.set(bwd.previous());
				bwd.set(tmp);
			}
		}
	}