private CallTree selectJustSpan(NodeList topNodeList) {
        // multiple spans
        logger.info("Multiple top node list. size={} focusFilter:{}", topNodeList.size(), this.focusFilter);
        if (isDebug) {
            topNodeList.forEach((Node node) -> logger.debug("  node={}", node));
        }

        // find focus
        final NodeList focusNodeList = topNodeList.filter(this.focusFilter);
        if (!focusNodeList.isEmpty()) {
            return selectInFocusNodeList(focusNodeList, topNodeList);
        }

        logger.info("Select first span in top node list, not found root & focus span");

        final Node node = topNodeList.get(0);
        traceState.progress();
        return selectInNodeList(node, topNodeList);
    }
@author netspider
@author emeroad
@author jaehong.kim
web/src/main/java/com/navercorp/pinpoint/web/calltree/span/SpanAligner.java