public static final <T> Set<T> difference(Set<T> u, Set<T> a)
    {
        Set<T> set = new HashSet<>(u);
        set.removeAll(a);
        return set;
    }
public static final < T > Set < T > difference ( Set < T > u , Set < T > a ) { Set < T > set = new HashSet < > ( u ) ; set . removeAll ( a ) ; return set ; }
Set difference of U and A, denoted U \ A, is the set of all members of U
that are not members of A
@param <T>
@param u
@param a
@return