protected String fillProtocolAndVersion(SubscribeServiceResult subscribeServiceResult, String targetURL,
                                            String serviceName, String protocol) {

        String meshPort = judgeMeshPort(protocol);

        final List<String> datas = subscribeServiceResult.getDatas();

        if (CommonUtils.isEmpty(datas)) {
            targetURL = targetURL + ":" + meshPort;
        } else {
            for (String data : subscribeServiceResult.getDatas()) {
                final int indexOfParam = data.indexOf("?");
                if (indexOfParam != -1) {
                    String param = data.substring(indexOfParam + 1);
                    targetURL = targetURL + ":" + meshPort;
                    targetURL = targetURL + "?" + param;
                } else {
                    targetURL = targetURL + ":" + meshPort;
                }
                break;
            }
        }
        return targetURL;
    }
can be extended

@param appName
@return
registry/registry-mesh/src/main/java/com/alipay/sofa/rpc/registry/mesh/MeshRegistry.java