public static TDelegate SafelyCast <TDelegate>(Delegate source) where TDelegate : class { if (source == null) { return(null); } using (InstanceGetters.DisableProcessing()) return(source.Cast <TDelegate>(typeof(InstanceGetters).Module)); }