public IRoute Compose(params IRoute[] routes) { IRoute temp = _next ?? this; foreach (var route in routes) { temp = temp.SetNext(route); } return(this); }