private JSONRPC2Response handleJSONRPC2Exception(JSONRPC2SessionException e) {
        JSONRPC2Response errorResponse;
        String errorType = null;
        if (e.getCauseType() == JSONRPC2SessionException.JSONRPC2_ERROR) {
            errorType = "JSONRPC2 Error: " + e.getMessage();
        }
        if (e.getCauseType() == JSONRPC2SessionException.BAD_RESPONSE) {
            errorType = "Bad response Error: " + e.getMessage();
        }
        if (e.getCauseType() == JSONRPC2SessionException.NETWORK_EXCEPTION) {
            errorType = "Network Error: " + e.getMessage();
        }
        if (e.getCauseType() == JSONRPC2SessionException.UNEXPECTED_CONTENT_TYPE) {
            errorType = "Wrong content Error: " + e.getMessage();
        }
        if (e.getCauseType() == JSONRPC2SessionException.UNEXPECTED_RESULT) {
            errorType = "Strange result Error: " + e.getMessage();
        }
        if (e.getCauseType() == JSONRPC2SessionException.UNSPECIFIED) {
            errorType = "Unknown Error: " + e.getMessage();
        }
        errorResponse = new JSONRPC2Response(new JSONRPC2Error(-32099, errorType), null);
        return errorResponse;
    }