private Map<AgentIdStartTimeKey, Optional<String>> getAgentName(List<AgentIdStartTimeKey> spanBoList) {
        if (CollectionUtils.isEmpty(spanBoList)) {
            return Collections.emptyMap();
        }

        Map<AgentIdStartTimeKey, Optional<String>> nameMap = new HashMap<>(spanBoList.size());
        for (AgentIdStartTimeKey key : spanBoList) {
            if (!nameMap.containsKey(key)) {
                Optional<String> agentName = getAgentName(key.getAgentId(), key.getAgentStartTime());
                nameMap.put(key, agentName);
            }
        }
        return nameMap;
    }
@author emeroad
@author jaehong.kim
@author minwoo.jung
web/src/main/java/com/navercorp/pinpoint/web/service/SpanServiceImpl.java