Program: 32237
Project: 32237
Buggy source:
/** 
 * {@inheritDoc} 
 */
@Override public void execute() throws MojoExecutionException, MojoFailureException {
  validateConfiguration();
  try {
    initGitFlowConfig();
    checkUncommittedChanges();
    String branchName=gitFlowConfig.getProductionBranch();
    if (settings.isInteractiveMode()) {
      final String supportBranches=gitFindBranches(gitFlowConfig.getSupportBranchPrefix(),false);
      if (StringUtils.isNotBlank(supportBranches)) {
        final String[] tmpBranches=supportBranches.split("String_Node_Str");
        String[] branches=new String[tmpBranches.length + 1];
        for (int i=0; i < tmpBranches.length; i++) {
          branches[i]=tmpBranches[i];
        }
        branches[tmpBranches.length]=gitFlowConfig.getProductionBranch();
        List<String> numberedList=new ArrayList<String>();
        StringBuilder str=new StringBuilder("String_Node_Str").append(LS);
        for (int i=0; i < branches.length; i++) {
          str.append((i + 1) + "String_Node_Str" + branches[i]+ LS);
          numberedList.add(String.valueOf(i + 1));
        }
        str.append("String_Node_Str");
        String branchNumber=null;
        try {
          while (StringUtils.isBlank(branchNumber)) {
            branchNumber=prompter.prompt(str.toString(),numberedList);
          }
        }
 catch (        PrompterException e) {
          getLog().error(e);
        }
        if (branchNumber != null) {
          int num=Integer.parseInt(branchNumber);
          branchName=branches[num - 1];
        }
        if (StringUtils.isBlank(branchName)) {
          throw new MojoFailureException("String_Node_Str");
        }
      }
    }
    gitCheckout(branchName);
    if (fetchRemote) {
      gitFetchRemoteAndCompare(branchName);
    }
    final String currentVersion=getCurrentProjectVersion();
    final String defaultVersion=new GitFlowVersionInfo(currentVersion).hotfixVersion(tychoBuild);
    if (defaultVersion == null) {
      throw new MojoFailureException("String_Node_Str");
    }
    String version=null;
    if (settings.isInteractiveMode()) {
      try {
        while (version == null) {
          version=prompter.prompt("String_Node_Str" + defaultVersion + "String_Node_Str");
          if (!"String_Node_Str".equals(version) && (!GitFlowVersionInfo.isValidVersion(version) || !validBranchName(version))) {
            getLog().info("String_Node_Str");
            version=null;
          }
        }
      }
 catch (      PrompterException e) {
        getLog().error(e);
      }
    }
 else {
      if (StringUtils.isNotBlank(hotfixVersion) && (!GitFlowVersionInfo.isValidVersion(hotfixVersion) || !validBranchName(hotfixVersion))) {
        throw new MojoFailureException("String_Node_Str" + hotfixVersion + "String_Node_Str");
      }
 else {
        version=hotfixVersion;
      }
    }
    if (StringUtils.isBlank(version)) {
      version=defaultVersion;
    }
    String branchVersionPart=version.replace('/','_');
    String hotfixBranchName=gitFlowConfig.getHotfixBranchPrefix() + branchVersionPart;
    if (!gitFlowConfig.getProductionBranch().equals(branchName)) {
      hotfixBranchName=gitFlowConfig.getHotfixBranchPrefix() + branchName + "String_Node_Str"+ branchVersionPart;
    }
    final boolean hotfixBranchExists=gitCheckBranchExists(hotfixBranchName);
    if (hotfixBranchExists) {
      throw new MojoFailureException("String_Node_Str");
    }
    gitCreateAndCheckout(hotfixBranchName,branchName);
    if (!version.equals(currentVersion)) {
      mvnSetVersions(version);
      Map<String,String> properties=new HashMap<String,String>();
      properties.put("String_Node_Str",version);
      gitCommit(commitMessages.getHotfixStartMessage(),properties);
    }
    if (installProject) {
      mvnCleanInstall();
    }
    if (pushRemote) {
      gitPush(hotfixBranchName,false);
    }
  }
 catch (  CommandLineException e) {
    getLog().error(e);
  }
catch (  VersionParseException e) {
    getLog().error(e);
  }
}

Fixed version (ground truth):
/** 
 * {@inheritDoc} 
 */
@Override public void execute() throws MojoExecutionException, MojoFailureException {
  validateConfiguration();
  try {
    initGitFlowConfig();
    checkUncommittedChanges();
    String branchName=gitFlowConfig.getProductionBranch();
    if (settings.isInteractiveMode()) {
      final String supportBranches=gitFindBranches(gitFlowConfig.getSupportBranchPrefix(),false);
      if (StringUtils.isNotBlank(supportBranches)) {
        final String[] tmpBranches=supportBranches.split("String_Node_Str");
        String[] branches=new String[tmpBranches.length + 1];
        for (int i=0; i < tmpBranches.length; i++) {
          branches[i]=tmpBranches[i];
        }
        branches[tmpBranches.length]=gitFlowConfig.getProductionBranch();
        List<String> numberedList=new ArrayList<String>();
        StringBuilder str=new StringBuilder("String_Node_Str").append(LS);
        for (int i=0; i < branches.length; i++) {
          str.append((i + 1) + "String_Node_Str" + branches[i]+ LS);
          numberedList.add(String.valueOf(i + 1));
        }
        str.append("String_Node_Str");
        String branchNumber=null;
        try {
          while (StringUtils.isBlank(branchNumber)) {
            branchNumber=prompter.prompt(str.toString(),numberedList);
          }
        }
 catch (        PrompterException e) {
          throw new MojoFailureException("String_Node_Str",e);
        }
        if (branchNumber != null) {
          int num=Integer.parseInt(branchNumber);
          branchName=branches[num - 1];
        }
        if (StringUtils.isBlank(branchName)) {
          throw new MojoFailureException("String_Node_Str");
        }
      }
    }
    gitCheckout(branchName);
    if (fetchRemote) {
      gitFetchRemoteAndCompare(branchName);
    }
    final String currentVersion=getCurrentProjectVersion();
    final String defaultVersion=new GitFlowVersionInfo(currentVersion).hotfixVersion(tychoBuild);
    if (defaultVersion == null) {
      throw new MojoFailureException("String_Node_Str");
    }
    String version=null;
    if (settings.isInteractiveMode()) {
      try {
        while (version == null) {
          version=prompter.prompt("String_Node_Str" + defaultVersion + "String_Node_Str");
          if (!"String_Node_Str".equals(version) && (!GitFlowVersionInfo.isValidVersion(version) || !validBranchName(version))) {
            getLog().info("String_Node_Str");
            version=null;
          }
        }
      }
 catch (      PrompterException e) {
        throw new MojoFailureException("String_Node_Str",e);
      }
    }
 else {
      if (StringUtils.isNotBlank(hotfixVersion) && (!GitFlowVersionInfo.isValidVersion(hotfixVersion) || !validBranchName(hotfixVersion))) {
        throw new MojoFailureException("String_Node_Str" + hotfixVersion + "String_Node_Str");
      }
 else {
        version=hotfixVersion;
      }
    }
    if (StringUtils.isBlank(version)) {
      version=defaultVersion;
    }
    String branchVersionPart=version.replace('/','_');
    String hotfixBranchName=gitFlowConfig.getHotfixBranchPrefix() + branchVersionPart;
    if (!gitFlowConfig.getProductionBranch().equals(branchName)) {
      hotfixBranchName=gitFlowConfig.getHotfixBranchPrefix() + branchName + "String_Node_Str"+ branchVersionPart;
    }
    final boolean hotfixBranchExists=gitCheckBranchExists(hotfixBranchName);
    if (hotfixBranchExists) {
      throw new MojoFailureException("String_Node_Str");
    }
    gitCreateAndCheckout(hotfixBranchName,branchName);
    if (!version.equals(currentVersion)) {
      mvnSetVersions(version);
      Map<String,String> properties=new HashMap<String,String>();
      properties.put("String_Node_Str",version);
      gitCommit(commitMessages.getHotfixStartMessage(),properties);
    }
    if (installProject) {
      mvnCleanInstall();
    }
    if (pushRemote) {
      gitPush(hotfixBranchName,false);
    }
  }
 catch (  CommandLineException e) {
    throw new MojoFailureException("String_Node_Str",e);
  }
catch (  VersionParseException e) {
    throw new MojoFailureException("String_Node_Str",e);
  }
}