BitSet orig = new BitSet();
HashSet<Location> orig = new HashSet<Location>();
	public void markTransitiveUninterestingStreamEscapes() {		// Eliminate all stream escapes where the target isn't really		// a stream construction point.		for (Iterator<StreamEscape> i = streamEscapeSet.iterator(); i.hasNext(); ) {			StreamEscape streamEscape = i.next();			if (!isStreamConstruction(streamEscape.target)) {				if (FindOpenStream.DEBUG)					System.out.println("Eliminating false stream escape " + streamEscape);				i.remove();			}		}		// Starting with the set of uninteresting stream construction points,		// propagate all uninteresting stream escapes.  Iterate until there		// is no change.		BitSet orig = new BitSet();		do {			orig.clear();			orig.or(uninterestingStreamEscapeSet);			for (Iterator<StreamEscape> i = streamEscapeSet.iterator(); i.hasNext(); ) {				StreamEscape streamEscape = i.next();				if (isUninterestingStreamEscape(streamEscape.source)) {					if (FindOpenStream.DEBUG)						System.out.println("Propagating stream escape " + streamEscape);					uninterestingStreamEscapeSet.set(streamEscape.target.getPosition());				}			}		} while (!orig.equals(uninterestingStreamEscapeSet));	}