code: public Rule withPredicates(Predicate... predicates) {
          if (this.predicates == null) {
              setPredicates(new java.util.ArrayList<Predicate>(predicates.length));
          }
          for (Predicate ele : predicates) {
              this.predicates.add(ele);
          }
          return this;
      }
docs: <p>
  The <code>Predicates</code> object contains one <code>Predicate</code> element for each <a>ByteMatchSet</a>,
  <a>IPSet</a>, or <a>SqlInjectionMatchSet</a> object that you want to include in a <code>Rule</code>.
  </p>
  <p>
  <b>NOTE:</b> This method appends the values to the existing list (if any). Use
  {@link #setPredicates(java.util.Collection)} or {@link #withPredicates(java.util.Collection)} if you want to
  override the existing values.
  </p>
  
  @param predicates
  The <code>Predicates</code> object contains one <code>Predicate</code> element for each
  <a>ByteMatchSet</a>, <a>IPSet</a>, or <a>SqlInjectionMatchSet</a> object that you want to include in a
  <code>Rule</code>.
  @return Returns a reference to this object so that method calls can be chained together.