protected IDisposable CastTag(SpecialCastKind? specialCastKind = null)
 {
     return Tag(CastElementName, SpecialCastKindAttribute(specialCastKind));
 }
 private AttributeInfo SpecialCastKindAttribute(SpecialCastKind? specialCastKind = null)
 {
     switch (specialCastKind)
     {
         case SpecialCastKind.DirectCast:
             return new AttributeInfo(DirectCastAttributeName, "yes");
         case SpecialCastKind.TryCast:
             return new AttributeInfo(TryCastAttributeName, "yes");
         default:
             return AttributeInfo.Empty;
     }
 }