public static <A> List<A> addAll(List<A> target, List<A> source) {
		if (source==null) {
			return target;
		}
		if (target!=null) {
			LinkedList<A> ret = new LinkedList<A>(source);
			ret.addAll(target);
			return ret;
		}
		return source;
	}