public PredicatesHandler addPredicatedHandler(final Predicate predicate, final HandlerWrapper handlerWrapper, final HandlerWrapper elseBranch) {
        Holder[] old = handlers;
        Holder[] handlers = new Holder[old.length + 1];
        System.arraycopy(old, 0, handlers, 0, old.length);
        HttpHandler elseHandler = elseBranch != null ? elseBranch.wrap(this) : null;
        handlers[old.length] = new Holder(predicate, handlerWrapper.wrap(this), elseHandler);
        this.handlers = handlers;
        return this;
    }
public PredicatesHandler addPredicatedHandler ( final Predicate predicate , final HandlerWrapper handlerWrapper , final HandlerWrapper elseBranch ) { Holder [ ] old = handlers ; Holder [ ] handlers = new Holder [ old . length + 1 ] ; System . arraycopy ( old , 0 , handlers , 0 , old . length ) ; HttpHandler elseHandler = elseBranch != null ? elseBranch . wrap ( this ) : null ; handlers [ old . length ] = new Holder ( predicate , handlerWrapper . wrap ( this ) , elseHandler ) ; this . handlers = handlers ; return this ; }
Adds a new predicated handler.
<p>

@param predicate
@param handlerWrapper