private static Map<RouteDefinition, Method> join(Map<RouteDefinition, Method> base, Map<RouteDefinition, Method> add) {

		for (RouteDefinition definition : base.keySet()) {
			Method method = base.get(definition);

			RouteDefinition additional = find(add, method);
			definition.join(additional);
		}

		return base;
	}
private static Map < RouteDefinition , Method > join ( Map < RouteDefinition , Method > base , Map < RouteDefinition , Method > add ) { for ( RouteDefinition definition : base . keySet ( ) ) { Method method = base . get ( definition ) ; RouteDefinition additional = find ( add , method ) ; definition . join ( additional ) ; } return base ; }
Joins additional data provided in subclass/ interfaces with base definition

@param base base definition
@param add  additional definition
@return joined definition