///  <inheritdoc/>
 public void Reset()
 {
     BackingTexture?.Dispose();
     BackingTexture = null;
     _cachedTexture?.Dispose();
     _cachedTexture = null;
     _controlsHost  = null;
 }
 /// <summary>
 /// Sets the <see cref="UI.ControlHost"/>.
 /// </summary>
 /// <param name="data">A <see cref="UI.ControlHost"/> object.</param>
 public void SetData(object data)
 {
     if (data is UI.ControlHost host)
     {
         _controlsHost = host;
     }
     else
     {
         throw new Exception($"{nameof(ControlHostRenderStep)} must have a {nameof(UI.ControlHost)} passed to the {nameof(SetData)} method");
     }
 }