Source:
<code>boolean perform(Run<?, ?> build, TaskListener listener, UpdaterIssueSelector selector) { PrintStream logger = listener.getLogger(); List<JiraIssue> issues = null; try { JiraSite site = JiraSite.get(build.getParent()); if (site == null) { logger.println(Messages.Updater_NoJiraSite()); build.setResult(Result.FAILURE); return true; } String rootUrl = Hudson.getInstance().getRootUrl(); if (rootUrl == null) { logger.println(Messages.Updater_NoJenkinsUrl()); build.setResult(Result.FAILURE); return true; } Set<String> ids = selector.findIssueIds(build, this, site, listener); if (ids.isEmpty()) { if (debug) logger.println("No JIRA issues found."); return true; } JiraSession session = null; try { session = site.getSession(); } catch (IOException e) { listener.getLogger().println(Messages.Updater_FailedToConnect()); e.printStackTrace(listener.getLogger()); } if (session == null) { logger.println(Messages.Updater_NoRemoteAccess()); build.setResult(Result.FAILURE); return true; } boolean doUpdate = false; if (site.updateJiraIssueForAllStatus || build.getResult() == null) { doUpdate = true; } else { <START> doUpdate = build.getResult().isBetterOrEqualTo(Result.UNSTABLE); <END> } boolean useWikiStyleComments = site.supportsWikiStyleComment; issues = getJiraIssues(ids, session, logger); build.getActions().add(new JiraBuildAction(build, issues)); if (doUpdate) { submitComments(build, logger, rootUrl, issues, session, useWikiStyleComments, site.recordScmChanges, site.groupVisibility, site.roleVisibility); } else { build.addAction(new JiraCarryOverAction(issues)); } } catch (Exception e) { LOGGER.log(Level.WARNING, "Error updating JIRA issues. Saving issues for next build.", e); logger.println("Error updating JIRA issues. Saving issues for next build.\n" + e); if (issues != null && !issues.isEmpty()) { build.addAction(new JiraCarryOverAction(issues)); } } return true; }</code><technical_language>remove space</technical_language>

Target:
boolean perform(Run<?, ?> build, TaskListener listener, UpdaterIssueSelector selector) { PrintStream logger = listener.getLogger(); List<JiraIssue> issues = null; try { JiraSite site = JiraSite.get(build.getParent()); if (site == null) { logger.println(Messages.Updater_NoJiraSite()); build.setResult(Result.FAILURE); return true; } String rootUrl = Hudson.getInstance().getRootUrl(); if (rootUrl == null) { logger.println(Messages.Updater_NoJenkinsUrl()); build.setResult(Result.FAILURE); return true; } Set<String> ids = selector.findIssueIds(build, site, listener); if (ids.isEmpty()) { if (debug) logger.println("No JIRA issues found."); return true; } JiraSession session = null; try { session = site.getSession(); } catch (IOException e) { listener.getLogger().println(Messages.Updater_FailedToConnect()); e.printStackTrace(listener.getLogger()); } if (session == null) { logger.println(Messages.Updater_NoRemoteAccess()); build.setResult(Result.FAILURE); return true; } boolean doUpdate = false; if (site.updateJiraIssueForAllStatus || build.getResult() == null) { doUpdate = true; } else { doUpdate = build.getResult().isBetterOrEqualTo(Result.UNSTABLE); } boolean useWikiStyleComments = site.supportsWikiStyleComment; issues = getJiraIssues(ids, session, logger); build.getActions().add(new JiraBuildAction(build, issues)); if (doUpdate) { submitComments(build, logger, rootUrl, issues, session, useWikiStyleComments, site.recordScmChanges, site.groupVisibility, site.roleVisibility); } else { build.addAction(new JiraCarryOverAction(issues)); } } catch (Exception e) { LOGGER.log(Level.WARNING, "Error updating JIRA issues. Saving issues for next build.", e); logger.println("Error updating JIRA issues. Saving issues for next build.\n" + e); if (issues != null && !issues.isEmpty()) { build.addAction(new JiraCarryOverAction(issues)); } } return true; }