public IDictionary <string, object> ToDictionary() { var dict = new Dictionary <string, object> { { "title", Title }, { "constraints", Constraints }, { "actions", Action.ToArray() }, { "route", Route }, { "hash", _chain.GetHashCode() }, { "resource", ResourceType.ToDictionary() }, { "input", InputModel.ToDictionary() }, { "origin", Origin }, { "accepts", Accepts }, { "authorization", Authorization }, { "content-type", ContentType }, { "output", Output.ToArray() }, { "category", UrlCategory }, { "wrappers", Wrappers.ToArray() }, { "tags", _chain.Tags.ToArray() } }; return(dict); }