code: private static Optional<ICondition> asNot( JsonObject json)
      {
      return
        json.containsKey( NOT_KEY)
        ? Optional.of( new Not( asCondition( json.getJsonObject( NOT_KEY))))
        : Optional.empty();
      }
docs: Returns the Not condition represented by the given JSON object or an empty
  value if no such condition is found.