public IEnumerable<DcmElement> Search(DicomTag tag)
{
foreach (DcmItem item in _items.Values) {
if (item.Tag == tag && item is DcmElement)
yield return item as DcmElement;
else if (item is DcmItemSequence) {
DcmItemSequence sq = item as DcmItemSequence;
foreach (DcmItemSequenceItem sqi in sq.SequenceItems) {
foreach (DcmElement elem in sqi.Dataset.Search(tag))
yield return elem;
}
}
}
}