/**
 * JBoss, Home of Professional Open Source
 * Copyright 2012, Red Hat Middleware LLC, and individual contributors
 * by the @authors tag. See the copyright.txt in the distribution for a
 * full listing of individual contributors.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 * http://www.apache.org/licenses/LICENSE-2.0
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package org.jboss.arquillian.warp.impl.server.delegation;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public interface RequestProcessingDelegationService {

    boolean canDelegate(HttpServletRequest request);
    void delegate(HttpServletRequest request, HttpServletResponse response);

}

@@ -936,115 +936,1593 @@
 e;%0A%0A
-public interface RequestProcessingDelegationService %7B%0A%0A    boolean canDelegate(HttpServletRequest request);
+import org.jboss.arquillian.core.spi.Manager;%0Aimport org.jboss.arquillian.warp.impl.server.execution.WarpFilter;%0A%0A/**%0A * %3Cp%3E%0A * Service Interface for delegating request processing inside %7B@link WarpFilter%7D%0A * .%0A * %3C/p%3E%0A * %3Cp%3E%0A * Delegates will be asked to handle request processing (through%0A * %7B@link RequestProcessingDelegationService#canDelegate(HttpServletRequest)%7D).%0A * Delegates who decide to actually process the request, will need to perform%0A * all processing inside%0A * %7B@link RequestProcessingDelegationService#delegate(HttpServletRequest, HttpServletResponse)%7D%0A * .%0A * %3C/p%3E%0A * %3Cp%3E%0A * Request processing is performed outside Arquillian's context. No%0A * %7B@link Manager%7D instance is created.%0A * %3C/p%3E%0A *%0A * @author Aris Tzoumas%0A *%0A */%0Apublic interface RequestProcessingDelegationService %7B%0A%0A    /**%0A     * %3Cp%3E%0A     * Method to decide if delegate can handle the request%0A     * %3C/p%3E%0A     *%0A     * @param request%0A     *            the incoming %7B@link HttpServletRequest%7D.%0A     * @return %3Ccode%3Etrue%3C/code%3E if delegate can handle the request.%0A     *         %3Ccode%3Efalse%3C/code%3E otherwise.%0A     */%0A    boolean canDelegate(HttpServletRequest request);%0A%0A    /**%0A     * %3Cp%3E%0A     * Actual request processing for delegate.%0A     * %3C/p%3E%0A     * %3Cp%3E%0A     * This method will be called only if%0A     * %7B@link RequestProcessingDelegationService#canDelegate(HttpServletRequest)%7D%0A     * returned %3Ccode%3Etrue%3C/code%3E%0A     * %3C/p%3E%0A     *%0A     * @param request%0A     *            the incoming %7B@link HttpServletRequest%7D.%0A     * @param response%0A     *            the %7B@link HttpServletResponse%7D to send.%0A     */
 %0A   

Add javadoc to RequestProcessingDelegationService