code: @Override
      protected Execute prepareExec() {
          Execute original = super.prepareExec();
          Execute exec = new Execute(this, createWatchdog()) {
              @Override
              protected void waitFor(Process process) {
                  try {
                      expectSupport.execute();
                      if (destroyProcess) {
                          process.destroy();
                      }
                  } catch (Exception e) {
                      process.destroy();
                      throw new BuildException(e);
                  } finally {
                      super.waitFor(process);
                  }
              }
          };
          exec.setNewenvironment(newEnvironment);
          exec.setAntRun(getProject());
          exec.setWorkingDirectory(original.getWorkingDirectory());
          exec.setEnvironment(original.getEnvironment());
          return exec;
      }
docs: {@inheritDoc}
  <p/>
  Upon creation, configure the input and output streams for the {@link ExpectSupportImpl}
  instance and
  call the {@link ExpectSupportImpl#execute()} method.
  
  @return an execute instance