public void Adjust <T>(Trade newFill) where T : class, IRunner, new() { if (runner == null || (runner as T) == null) { runner = new T(); } runner.Adjust(newFill); }