protected IVsSimpleObjectList2 FilterView(LibraryNodeType filterType)
{
LibraryNode filtered;
if (_filteredView.TryGetValue(filterType, out filtered))
return filtered;
filtered = Clone();
for (int i = 0; i < filtered._children.Count; )
{
if (0 == (filtered._children[i]._type & filterType))
filtered._children.RemoveAt(i);
else
i += 1;
}
_filteredView.Add(filterType, filtered);
return filtered;
}