@Nullable
  @Override
  public ExecutionResult execute(Executor executor, @NotNull ProgramRunner<?> runner) {
    final RunProfile profile = myEnvironment.getRunProfile();
    if (profile instanceof AntRunConfiguration runConfig) {
      if (runConfig.getTarget() == null) {
        return null;
      }
      final ProcessHandler processHandler = ExecutionHandler.executeRunConfiguration(runConfig, myEnvironment.getDataContext(), runConfig.getProperties(), AntBuildListener.NULL);
      if (processHandler == null) {
        return null;
      }

      return new DefaultExecutionResult(new ExecutionConsole() {
        @NotNull
        @Override
        public JComponent getComponent() {
          return processHandler.getUserData(MESSAGE_VIEW);
        }

        @Override
        public JComponent getPreferredFocusableComponent() {
          return processHandler.getUserData(MESSAGE_VIEW);
        }

        @Override
        public void dispose() {
          processHandler.putUserData(MESSAGE_VIEW, null);
        }
      }, processHandler);
    }
    return null;
  }
@Nullable
  @Override
  public ExecutionResult execute(Executor executor, @NotNull ProgramRunner<?> runner)