String finalExchange = getFinalExchangeName(getExchange(op));
String finalRoutingKey = getFinalRoutingKey(getRoutingKey(op));
String exchangeResourceName = buildExternalResourceName(finalExchange, finalRoutingKey, false, host, port);
ExternalResourceDescriptor externalResourceExchangeDescriptor =
new ExternalResourceDescriptor(queueFrame,
exchangeResourceName,
buildExternalResourceLabel(buildLabel(finalExchange, null)),
ExternalResourceType.QUEUE.name(),
RABBIT,
host,
port,
color, isIncoming);
queueDescriptors.add(externalResourceExchangeDescriptor);
// even if there is no routing key, i.e in the Insight world there is no child resource,
// we still report a dummy one so that AppInsight has a consistent API
String childRoutingKey = finalRoutingKey;
if (isTrimEmpty(getRoutingKey(op))) {
childRoutingKey = NO_ROUTING_KEY;
}
ExternalResourceDescriptor externalResourceRoutingKeyDescriptor =
new ExternalResourceDescriptor(queueFrame,
buildExternalResourceName(finalExchange, childRoutingKey, true, host, port),
buildLabel(null, childRoutingKey),
ExternalResourceType.QUEUE.name(),
RABBIT,
host,