public List<? extends Rule> getChildren() {
   final ArrayList<Rule> result = new ArrayList<>();
   for (ConditionalRule option : options) {
     result.addAll(new ArrayList<>(option.getRules()));
   }
   return result;
 }
  @Nonnull
  public List<KeyValueRule> getRulesNode(Node node) {
    Node from = selectValue(node);
    if (from == null && defaultValue != null) {
      from = defaultValue.getDefaultValue(node);
    }

    if (from != null) {
      for (ConditionalRule option : options) {
        if (option.matches(from)) {
          return option.getRules();
        }
      }
    }

    return Collections.emptyList();
  }