public static M3U8AttributeValueInstance <TValue> Attribute <TValue>(this M3U8TagInstance tagInstance, M3U8ValueAttribute <TValue> attribute, TValue value) where TValue : IEquatable <TValue>
 {
     return(Enumerable.FirstOrDefault <M3U8AttributeValueInstance <TValue> >(Enumerable.OfType <M3U8AttributeValueInstance <TValue> >((IEnumerable)M3U8TagInstanceExtensions.Attributes(tagInstance)), (Func <M3U8AttributeValueInstance <TValue>, bool>)(a => a.Attribute == (M3U8Attribute)attribute && a.Value.Equals(value))));
 }
 public static TInstance AttributeInstance <TInstance>(this M3U8TagInstance tagInstance, M3U8Attribute attribute) where TInstance : M3U8AttributeInstance
 {
     return(Enumerable.FirstOrDefault <M3U8AttributeInstance>(M3U8TagInstanceExtensions.Attributes(tagInstance), (Func <M3U8AttributeInstance, bool>)(a => a.Attribute == attribute)) as TInstance);
 }
 public static IEnumerable <M3U8AttributeValueInstance <TValue> > Attributes <TValue>(this M3U8TagInstance tagInstance, M3U8ValueAttribute <TValue> attribute)
 {
     return(Enumerable.Where <M3U8AttributeValueInstance <TValue> >(Enumerable.OfType <M3U8AttributeValueInstance <TValue> >((IEnumerable)M3U8TagInstanceExtensions.Attributes(tagInstance)), (Func <M3U8AttributeValueInstance <TValue>, bool>)(a => a.Attribute == (M3U8Attribute)attribute)));
 }
 public static IEnumerable <M3U8AttributeInstance> Attributes(this M3U8TagInstance tagInstance, M3U8Attribute attribute)
 {
     return(Enumerable.Where <M3U8AttributeInstance>(M3U8TagInstanceExtensions.Attributes(tagInstance), (Func <M3U8AttributeInstance, bool>)(a => a.Attribute == attribute)));
 }