private void tryFindFirst(SearchResults results) { results.Lookup = toLookup(_source); if (results.Lookup.TryGetValue(results.Member, out object value)) { results.Found = true; results.Value = value; return; } if (_parent == null) { results.Found = false; results.Value = null; return; } _parent.tryFindFirst(results); }