httpMethod == ODataHttpMethod.DELETE ? new HttpDelete() :
httpMethod == ODataHttpMethod.POST ? new HttpPost() :
httpMethod == ODataHttpMethod.PUT ? new HttpPut() : new HttpPatch();
request.setURI(URI.create(getEndpoint() + uri));
if (additionalHeader != null) {
request.addHeader(additionalHeader, additionalHeaderValue);
}
if (requestBody != null) {
((HttpEntityEnclosingRequest) request).setEntity(new StringEntity(requestBody));
request.setHeader(HttpHeaders.CONTENT_TYPE, requestContentType);
}