public static <T> boolean containsValue(
     final Collection<? extends GenericValue<? extends T>> collection, T value) {
   for (GenericValue<? extends T> o : collection) {
     if (Comparing.equal(value, o.getValue())) return true;
   }
   return false;
 }
 @NotNull
 public static <T> Collection<T> getValueCollection(
     final Collection<? extends GenericValue<? extends T>> collection, Collection<T> result) {
   for (GenericValue<? extends T> o : collection) {
     ContainerUtil.addIfNotNull(result, o.getValue());
   }
   return result;
 }