code: @SuppressWarnings("unchecked")
    public FilterRuleChain<V> extend(boolean newDefaultResult, FilterRule<V>... additionalRules) {
  
      FilterRule<V>[] newRules = new FilterRule[this.rules.length + additionalRules.length];
      System.arraycopy(this.rules, 0, newRules, 0, this.rules.length);
      System.arraycopy(additionalRules, 0, newRules, this.rules.length, additionalRules.length);
      return new FilterRuleChain<>(newDefaultResult, newRules);
    }
docs: This method extends this chain with {@code additionalRules}.
  
  @param newDefaultResult is the result of the new extended chain if none of the rules match.
  @param additionalRules are the rules to add.
  @return the chain that also checks the {@code additionalRules} if none of this rules match.