// which streams are to this table an outer stream private static ISet<int> GetOuterStreams( int fromStream, ISet<int> toStreams, OuterInnerDirectionalGraph outerInnerGraph) { ISet<int> outerStreams = new HashSet<int>(); foreach (var toStream in toStreams) { if (outerInnerGraph.IsOuter(toStream, fromStream)) { outerStreams.Add(toStream); } } return outerStreams; }