private void configureFromBlueprint(HopBlueprint hop) {
        boolean ignoreResult = shouldIgnoreResult();
        route.setHop(0, hop.create());
        if (ignoreResult) {
            route.getHop(0).setIgnoreResult(true);
        }
        recipients.clear();
        for (int r = 0; r < hop.getNumRecipients(); ++r) {
            Route recipient = new Route();
            recipient.addHop(hop.getRecipient(r));
            for (int h = 1; h < route.getNumHops(); ++h) {
                recipient.addHop(route.getHop(h));
            }
            recipients.add(recipient);
        }
    }
Configures this node based on a hop blueprint. For each recipient in the blueprint it creates a copy of the
current route, and sets the first hop of that route to be the configured recipient hop. In effect, this replaces
the current hop and retains the rest of the route.

@param hop The blueprint to use for configuration.
messagebus/src/main/java/com/yahoo/messagebus/routing/RoutingNode.java