private ExtendedHttpMethod createHttpMethod(AbstractHttpRequestInterface<?> httpRequest) { if (httpRequest instanceof HttpRequestInterface<?>) { HttpRequestInterface<?> restRequest = (HttpRequestInterface<?>) httpRequest; switch (restRequest.getMethod()) { case GET: return new ExtendedGetMethod(); case HEAD: return new ExtendedHeadMethod(); case DELETE: return new ExtendedDeleteMethod(); case PUT: return new ExtendedPutMethod(); case OPTIONS: return new ExtendedOptionsMethod(); case TRACE: return new ExtendedTraceMethod(); } } ExtendedPostMethod extendedPostMethod = new ExtendedPostMethod(); extendedPostMethod.setAfterRequestInjection(httpRequest.getAfterRequestInjection()); return extendedPostMethod; }