private static void GetBeginTags (TextIter currentIter, TextTag [] tagArray, ArrayList beginTags)
	{
		foreach (TextTag tag in tagArray) {
			if (!currentIter.BeginsTag (tag))
				continue;
			
			beginTags.Add (tag);
		}
	}
	private static void GetArrays (TextIter currentIter, TextIter nextIter, ArrayList beginTags, ArrayList endTags)
	{
		TextTag [] tags = currentIter.Tags;
		int last_index = tags.Length  - 1;
		TextTag last = tags [last_index];
		
		if (currentIter.BeginsTag (last))
			GetBeginTags (currentIter, tags, beginTags);
		
		if (DocumentUtils.TagEndsHere (last, currentIter, nextIter))
			GetEndTags (currentIter, nextIter, tags, endTags);
	}