private JSONRPC2Response parseReceivedString(String jsonString) {
        JSONRPC2Message reqIn;

        try {
            reqIn = JSONRPC2Message.parse(jsonString);

        } catch (JSONRPC2ParseException e) {
            //TODO: Seems not to work for some reason...
            e.printStackTrace();
            return new JSONRPC2Response(JSONRPC2Error.PARSE_ERROR.appendMessage(jsonString), null);
        }

        if (reqIn instanceof JSONRPC2Request) {
            System.out.println("The message is a Request");
            JSONRPC2Response reqOut = dispatcher.process((JSONRPC2Request) reqIn, null);
            return reqOut;

        } else if (reqIn instanceof JSONRPC2Notification) {
            System.out.println("The message is a Notification");
            dispatcher.process((JSONRPC2Notification) reqIn, null);
            return null;

        } else if (reqIn instanceof JSONRPC2Response) {
            System.out.println("The message is a Response");
            return null;
        }

        return new JSONRPC2Response(JSONRPC2Error.INVALID_REQUEST.appendMessage("Message is of unknown type"), null);
    }