private boolean lookupHop() {
        RoutingTable table = mbus.getRoutingTable(msg.getProtocol());
        if (table != null) {
            String name = route.getHop(0).getServiceName();
            if (table.hasHop(name)) {
                HopBlueprint hop = table.getHop(name);
                configureFromBlueprint(hop);
                if (trace.shouldTrace(TraceLevel.SPLIT_MERGE)) {
                    trace.trace(TraceLevel.SPLIT_MERGE, "Recognized '" + name + "' as " + hop + ".");
                }
                return true;
            }
        }
        return false;
    }
This method checks to see whether the string representation of the current hop is actually the name of another.
If a hop is found, the first hop of the current route is replaced by this.

@return True if a hop was found and added.
messagebus/src/main/java/com/yahoo/messagebus/routing/RoutingNode.java