public MyRunProfile(RunConfigurationBase configuration) {
   super(
       configuration.getProject(),
       configuration.getFactory(),
       ActionsBundle.message("action.RerunFailedTests.text"));
   myConfiguration = configuration;
 }
 @Override
 public ArrayList<LogFileOptions> getLogFiles() {
   return myConfiguration.getLogFiles();
 }
 @Override
 public ArrayList<PredefinedLogFile> getPredefinedLogFiles() {
   return myConfiguration.getPredefinedLogFiles();
 }
 @Override
 public LogFileOptions getOptionsForPredefinedLogFile(PredefinedLogFile predefinedLogFile) {
   return myConfiguration.getOptionsForPredefinedLogFile(predefinedLogFile);
 }
 @Override
 public int getUniqueID() {
   return myConfiguration.getUniqueID();
 }
 @Override
 public RunConfiguration clone() {
   return myConfiguration.clone();
 }
 @Override
 public SettingsEditor<ConfigurationPerRunnerSettings> getRunnerSettingsEditor(
     final ProgramRunner runner) {
   return myConfiguration.getRunnerSettingsEditor(runner);
 }
 @Override
 public ConfigurationPerRunnerSettings createRunnerSettings(
     final ConfigurationInfoProvider provider) {
   return myConfiguration.createRunnerSettings(provider);
 }
 @Override
 @NotNull
 public ConfigurationType getType() {
   return myConfiguration.getType();
 }
 @Override
 @NotNull
 public SettingsEditor<? extends RunConfiguration> getConfigurationEditor() {
   return myConfiguration.getConfigurationEditor();
 }
 @Override
 public void writeExternal(final Element element) throws WriteExternalException {
   myConfiguration.writeExternal(element);
 }
 /////////////////////////////////// Delegates
 @Override
 public void readExternal(final Element element) throws InvalidDataException {
   myConfiguration.readExternal(element);
 }
 @Override
 public void writeExternal(Element element) throws WriteExternalException {
   super.writeExternal(element);
   String executable = myRunnerParameters != null ? myRunnerParameters.getExecutableName() : null;
   if (executable != null) element.setAttribute(EXECUTABLE_NAME, executable);
 }
 @Override
 public void readExternal(Element element) throws InvalidDataException {
   super.readExternal(element);
   myRunnerParameters = createRunnerParameters();
   myRunnerParameters.setExecutableName(element.getAttributeValue(EXECUTABLE_NAME));
 }