code: public static final <T> Set<T> difference(Set<T> u, Set<T> a)
      {
          Set<T> set = new HashSet<>(u);
          set.removeAll(a);
          return set;
      }
docs: 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