public static T FastDesertElement <T>(List <T> list, Predicate <T> match, T defval = default(T)) { for (int index = 0; index < list.Count; index++) { if (match(list[index])) { return(SCommon.FastDesertElement(list, index)); } } return(defval); }