code: public PredicateConfig setImplementation(Predicate implementation) {
          this.implementation = isNotNull(implementation, "implementation");
          this.className = null;
          this.sql = null;
          return this;
      }
docs: Sets the Predicate implementation.
  <p>
  If a className or sql was set, it will be removed.
  
  @param implementation the Predicate implementation
  @return the updated PredicateConfig
  @throws IllegalArgumentException the implementation is {@code null}
  @see #setClassName(String)
  @see #getImplementation()