code: public Expression add(String field, JsonNode value) {
          try {
              ((ObjectNode) node).set(field, value);
              return this;
          } catch (ClassCastException e) {
              throw new RuntimeException("Object node expected while adding " + field);
          }
      }
docs: TODO: add is using set, this is confusing. Rename all adds to sets?