class J4pClient extends J4pClientBuilderFactory {

    public <RESP extends J4pResponse<REQ>, REQ extends J4pRequest> RESP execute(REQ pRequest)
            throws J4pException {
        // type spec is required to keep OpenJDK 1.6 happy (other JVM dont have a problem
        // with infering the type is missing here)
        return this.<RESP, REQ>execute(pRequest,null,null);
    }

    public  J4pClient(String pJ4pServerUrl);
    public  J4pClient(String pJ4pServerUrl, HttpClient pHttpClient);
    public  J4pClient(String pJ4pServerUrl, HttpClient pHttpClient,J4pTargetConfig pTargetConfig);
    public  J4pClient(String pJ4pServerUrl, HttpClient pHttpClient,J4pTargetConfig pTargetConfig,J4pResponseExtractor pExtractor);

}