public bool IsVisited(IPackage package) { Dictionary<IPackage, VisitedState> lookup = GetLookup(package.Id); VisitedState state; return lookup != null && lookup.TryGetValue(package, out state) && state == VisitedState.Completed; }