code: function(delegate) {
  
    /** @override */
    this.execute = function(command, callback) {
      delegate.then(function(executor) {
        executor.execute(command, callback);
      }, callback);
    };
  }
docs: Wraps a promised {@link webdriver.CommandExecutor}, ensuring no commands
  are executed until the wrapped executor has been fully built.
  @param {!webdriver.promise.Promise.<!webdriver.CommandExecutor>} delegate The
  promised delegate.
  @constructor
  @implements {webdriver.CommandExecutor}