code: @Override
    public boolean accept(V value) {
  
      Boolean result = acceptRecursive(value);
      if (result == null) {
        return this.defaultResult;
      } else {
        return result.booleanValue();
      }
    }
docs: {@inheritDoc}
  
  This method checks all rules in the chain and returns the result of the first matching rule. If no rule matches,
  {@link #getDefaultResult()} is returned.