class RESTWorkItemHandler extends AbstractLogOrThrowWorkItemHandler implements Cacheable {

    protected String getContentTypeAndCharset(Map<String, Object> params) {
        String contentType = (String) params.get(PARAM_CONTENT_TYPE);
        String contentTypeCharset = (String) params.get(PARAM_CONTENT_TYPE_CHARSET);

        if(contentType == null || contentTypeCharset == null) {
            return contentType;
        }

        if(!contentType.contains("charset=")) {
            return contentType + ";charset=" + contentTypeCharset;
        } else {
            return contentType;
        }
    }

    public  RESTWorkItemHandler();
    public  RESTWorkItemHandler(boolean doCacheClient);
    public  RESTWorkItemHandler(boolean doCacheClient,
                               int totalPoolConnections,
                               int maxPoolConnectionsPerRoute);
    public  RESTWorkItemHandler(String username,
                               String password);
    public  RESTWorkItemHandler(String username,
                               String password,
                               boolean doCacheClient);
    public  RESTWorkItemHandler(String username,
                               String password,
                               boolean doCacheClient,
                               int totalPoolConnections,
                               int maxPoolConnectionsPerRoute);
    public  RESTWorkItemHandler(String username,
                               String password,
                               String authUrl);
    public  RESTWorkItemHandler(String username,
                               String password,
                               String authUrl,
                               boolean doCacheClient);
    public  RESTWorkItemHandler(String username,
                               String password,
                               String authUrl,
                               boolean doCacheClient,
                               int totalPoolConnections,
                               int maxPoolConnectionsPerRoute);
    public  RESTWorkItemHandler(ClassLoader classLoader);
    public  RESTWorkItemHandler(ClassLoader classLoader,
                               boolean doCacheClient);
    public  RESTWorkItemHandler(ClassLoader classLoader,
                               boolean doCacheClient,
                               int totalPoolConnections,
                               int maxPoolConnectionsPerRoute);
    public  RESTWorkItemHandler(String username,
                               String password,
                               ClassLoader classLoader);
    public  RESTWorkItemHandler(String username,
                               String password,
                               ClassLoader classLoader,
                               boolean doCacheClient);
    public  RESTWorkItemHandler(String username,
                               String password,
                               ClassLoader classLoader,
                               boolean doCacheClient,
                               int totalPoolConnections,
                               int maxPoolConnectionsPerRoute);
    public  RESTWorkItemHandler(String username,
                               String password,
                               String authUrl,
                               ClassLoader classLoader);
    public  RESTWorkItemHandler(String username,
                               String password,
                               String authUrl,
                               ClassLoader classLoader,
                               boolean doCacheClient);
    public  RESTWorkItemHandler(String username,
                               String password,
                               String authUrl,
                               ClassLoader classLoader,
                               boolean doCacheClient,
                               int totalPoolConnections,
                               int maxPoolConnectionsPerRoute);
    public  RESTWorkItemHandler(String handlingProcessId,
                               String handlingStrategy,
                               String username,
                               String password);
    public  RESTWorkItemHandler(String handlingProcessId,
                               String handlingStrategy,
                               String username,
                               String password,
                               boolean doCacheClient);
    public  RESTWorkItemHandler(String handlingProcessId,
                               String handlingStrategy,
                               String username,
                               String password,
                               boolean doCacheClient,
                               int totalPoolConnections,
                               int maxPoolConnectionsPerRoute);
    public  RESTWorkItemHandler(ClassLoader classLoader, 
                               String handlingProcessId,
                               String handlingStrategy);
    public  RESTWorkItemHandler(ClassLoader classLoader,
                               boolean doCacheClient, 
                               String handlingProcessId,
                               String handlingStrategy);
    public  RESTWorkItemHandler(ClassLoader classLoader,
                               boolean doCacheClient,
                               int totalPoolConnections,
                               int maxPoolConnectionsPerRoute,
                               String handlingProcessId,
                               String handlingStrategy);
    public  RESTWorkItemHandler(String username,
                               String password,
                               ClassLoader classLoader,
                               String handlingProcessId,
                               String handlingStrategy);
    public  RESTWorkItemHandler(String username,
                               String password,
                               ClassLoader classLoader,
                               boolean doCacheClient,
                               String handlingProcessId,
                               String handlingStrategy);
    public  RESTWorkItemHandler(String username,
                               String password,
                               ClassLoader classLoader,
                               boolean doCacheClient,
                               int totalPoolConnections,
                               int maxPoolConnectionsPerRoute,
                               String handlingProcessId,
                               String handlingStrategy);

}