public static <T> Collection<T> added( Collection<T> left, Collection<T> right )
    {
        if ( right == null || right.isEmpty() ) {
            return java.util.Collections.emptyList();
        }
        if ( left == null || left.isEmpty() ) {
            return new ArrayList<T>( right );
        }
        Collection<T> added = new ArrayList<T>();
        for ( T eachRight : right ) {
            if ( !left.contains( eachRight ) ) {
                added.add( eachRight );
            }
        }
        return added;
    }