public static T ElementAtOrThrow <T>(this ILBasicBlock bb, int i) where T : ILNode { T t = bb.ElementAtOrThrow(i) as T; if (t == null) { throw new Exception("Null Element"); } return(t); }