public DocumentDirective GetFirstDirective(string directiveType, bool create)
{
foreach (DictionaryEntry de in directives)
{
if (de.Value is DocumentDirective)
{
if (0 == string.Compare (((DocumentDirective)de.Value).Name, directiveType, true, CultureInfo.InvariantCulture))
return (DocumentDirective) de.Value ;
}
else
foreach (DocumentDirective d in (ArrayList)de.Value)
if (0 == string.Compare (d.Name, directiveType, true, CultureInfo.InvariantCulture))
return d;
}
//should directive be created if it can't be found?
if (create) {
AddDirective (directiveType, null);
return GetFirstDirective (directiveType, false);
}
return null;
}