public static <TElement, TCollection extends Collection<TElement>> TCollection addAll(final TCollection target, final Iterable<? extends TElement> source) {
        if (target != null && source != null) {
            for (TElement element : source) {
                target.add(element);
            }
        }
        return target;
    }