public static T AddToLifecycleOf <T>(this T disposable, GameComponent gameComponent) where T : IDisposable { if (gameComponent != null) { return(gameComponent.AddDisposablele(disposable)); } disposable.Dispose(); return(disposable); }