public IEnumerable<DcmElement> Recurse()
{
foreach (DcmItem item in _items.Values) {
if (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.Recurse())
yield return elem;
}
}
}
}