public static NotPredicate fromMap(Map<String, Object> map) {
    Object data = (map == null) ? null : map.get(NAME);

    if (data == null) {
      throw new IllegalArgumentException("Missing data for '" + NAME + "' operation");
    } else if (data instanceof Map) {
      return new NotPredicate(PredicateUtils.fromMap((Map) data));
    } else {
      throw new IllegalArgumentException("Missing data for '" + NAME + "' operation");
    }
  }
Creates a new {@link NotPredicate} using the given {@link Map} of data.
<p>
It is expected that the map contains a single {@link java.util.Map.Entry} where the key name
is "not" and the value is a {@link Map} representing the contained predicate.

@return a new {@link NotPredicate}
ambari-server/src/main/java/org/apache/ambari/server/collections/functors/NotPredicate.java