code: public void setPredicates(@Nonnull final AccessAssertion... predicates) {
          if (this.predicates != null) {
              throw new AssertionError("Predicates can only be set a single time");
          }
          if (predicates.length < 1) {
              throw new IllegalArgumentException("There must be at least 1 predicate");
          }
          this.predicates = Arrays.asList(predicates);
      }
docs: Set all the Predicates/AccessAssertion that have to all pass in order for this assertion to pass.
  <p>
  An exception is thrown if this method is called more than once.
  </p>
  
  @param predicates the Predicates/AccessAssertion