internal static void FindInGraph( EditorWindow host, VSGraphModel graph, Action <FindInGraphAdapter.FindSearcherItem> highlightDelegate, Action <FindInGraphAdapter.FindSearcherItem> selectionDelegate ) { var items = graph.GetAllNodes() .Where(x => !string.IsNullOrEmpty(x.Title)) .Select(MakeFindItems) .ToList(); var database = SearcherDatabase.Create(items, "", false); var searcher = new Searcher.Searcher(database, new FindInGraphAdapter(highlightDelegate)); var position = new Vector2(host.rootVisualElement.layout.center.x, 0); SearcherWindow.Show(host, searcher, item => { selectionDelegate(item as FindInGraphAdapter.FindSearcherItem); return(true); }, position, null, k_FindAlignment); }