query_runner; $requested_link = new RequestedLink( $shared->link_lookup ); $repository = new LinkListRepository( $query_runner, $shared->tables, $shared->link_row_mapper, new LinkListFilter( $query_runner, $shared->tables ), new LinkListOrder( $query_runner ) ); $suggestions = new SuggestionFinder( $shared->closest_page_finder, new SiteHomeProbe(), new ArchiveAddress() ); $this->feature = new LinkListsFeature( $shared->rest_routes, new ListLinksEndpoint( new LinkListQueryReader(), $repository, $shared->link_presenter ), new LinkDetailEndpoint( $shared->link_detail_presenter, $requested_link ), new LinkSuggestionsEndpoint( $requested_link, $suggestions ) ); } }