public static @NotNull Collection<Object> notFound(@Nullable Collection<?> target, @NotNull Object... objects) {
    if (target == null) {
      return emptyList();
    }
    List<Object> notFound = newArrayList();
    for (Object o : objects) {
      if (!target.contains(o)) {
        notFound.add(o);
      }
    }
    return notFound;
  }
public static @NotNull Collection<Object> notFound(@Nullable Collection<?> target, @NotNull Object... objects) {
    if (target == null) {
      return emptyList();
    }
    List<Object> notFound = newArrayList();
    for (Object o : objects) {
      if (!target.contains(o)) {
        notFound.add(o);
      }
    }
    return notFound;
  }
public static @ NotNull Collection < Object > notFound ( @ Nullable Collection < ? > target , @ NotNull Object ... objects ) { if ( target == null ) { return emptyList ( ) ; } List < Object > notFound = newArrayList ( ) ; for ( Object o : objects ) { if ( ! target . contains ( o ) ) { notFound . add ( o ) ; } } return notFound ; }
Attempts to find the given objects in the given {@code Collection}, returning the ones that were not found.

@param target  the given {@code Collection}.
@param objects the elements to find in the given {@code Collection}.
@return the elements that were not found in the given {@code Collection}.
Attempts to find the given objects in the given { @code Collection } returning the ones that were not found .