code: @SafeVarargs
    @Nullable
    public static <T> T assertAmong(@Nullable T obj, @MayContainNull @Nonnull final T... list) {
      if (obj == null) {
        for (final T i : assertNotNull(list)) {
          if (i == null) {
            return i;
          }
        }
      } else {
        final int objHash = obj.hashCode();
        for (final T i : assertNotNull(list)) {
          if (obj == i || (i != null && objHash == i.hashCode() && obj.equals(i))) {
            return i;
          }
        }
      }
      final AssertionError error = new AssertionError("Object is not found among elements");
      MetaErrorListeners.fireError("Asserion error", error);
      throw error;
    }
docs: Check that object is presented among provided elements and replace the object by equal element from the list.
  
  @param <T>  type of object
  @param obj  object to be checked
  @param list list of elements for checking
  @return equal element provided in the list
  @throws AssertionError if object is not found among defined ones
  @since 1.0.2