protected SortedMap<String, String> parseRequestContent(RemotingCommand request) {
        request.makeCustomHeaderToNet();
        Map<String, String> extFields = request.getExtFields();
        // Sort property
        return new TreeMap<>(extFields);
    }
@Test
    public void testParseRequestContent() {
        PullMessageRequestHeader requestHeader = new PullMessageRequestHeader();
        requestHeader.setConsumerGroup("group");
        requestHeader.setTopic("topic");
        requestHeader.setQueueId(1);
        requestHeader.setQueueOffset(2L);
        requestHeader.setMaxMsgNums(32);
        requestHeader.setSysFlag(0);
        requestHeader.setCommitOffset(0L);
        requestHeader.setSuspendTimeoutMillis(15000L);
        requestHeader.setSubVersion(0L);
        RemotingCommand testPullRemotingCommand = RemotingCommand.createRequestCommand(RequestCode.PULL_MESSAGE, requestHeader);
        SortedMap<String, String> oldContent = oldVersionParseRequestContent(testPullRemotingCommand, "ak", null);
        byte[] oldBytes = AclUtils.combineRequestContent(testPullRemotingCommand, oldContent);
        testPullRemotingCommand.addExtField(ACCESS_KEY, "ak");
        SortedMap<String, String> content = aclClientRPCHook.parseRequestContent(testPullRemotingCommand);
        byte[] newBytes = AclUtils.combineRequestContent(testPullRemotingCommand, content);
        assertThat(newBytes).isEqualTo(oldBytes);
    }