auphong2707/dl4se-code-review-dataset huggingface dataset:
Source:
<code><START> private Boolean checkProblemValue() { <END> final SWTBotView problemViewBot = bot.viewByTitle("Problems"); problemViewBot.setFocus(); final SWTBotTree problemTree = problemViewBot.bot().tree(); bot.waitUntil(new ICondition() { public boolean test() throws Exception { return (problemViewBot.isActive()) && (problemTree.getAllItems().length == 1); } public void init(SWTBot bot) { } public String getFailureMessage() { return "Problems view is not active."; } }); for (SWTBotTreeItem item : problemTree.getAllItems()) { item.expand(); for (String itemMessage : item.getNodes()) { if (errorMessage.equals(itemMessage)) { return true; } } } return false; }</code><technical_language>In VSMElementNameValidConstraint check children of IValidationContext.getTarget() IValidationContext.getTarget() red cross appears layer mapping in error. fixing in VSMElementNameValidConstraint check red cross appears in mapping</technical_language>

Target:
private Boolean checkProblemValue() { final SWTBotView problemViewBot = bot.viewByTitle("Problems"); problemViewBot.setFocus(); final SWTBotTree problemTree = problemViewBot.bot().tree(); bot.waitUntil(new CheckTreeItemEnabled(problemTree.getTreeItem(ERROR_NODE))); SWTBotTreeItem item = problemTree.getTreeItem(ERROR_NODE).expand(); for (String itemMessage : item.getNodes()) { if (errorMessage.equals(itemMessage)) { return true; } } return false; }
Source:
<code>public void initializeDataSource(ITmfTrace trace) { TmfAbstractAnalysisModule module = createStatisticsAnalysiModule(); <START> if (!(module instanceof AbstractSegmentStatisticsAnalysis)) { <END> return; } try { module.setTrace(trace); module.schedule(); if (fModule != null) { fModule.dispose(); } fModule = (AbstractSegmentStatisticsAnalysis) module; } catch (TmfAnalysisException e) { Activator.getDefault().logError("Error initializing statistics analysis module", e); } }</code><technical_language>legacy extensions abstractSegmentStatisticsAnalysis</technical_language>

Target:
public void initializeDataSource(ITmfTrace trace) { TmfAbstractAnalysisModule module = createStatisticsAnalysiModule(); if (module == null) { return; } try { module.setTrace(trace); module.schedule(); if (fModule != null) { fModule.dispose(); } fModule = module; } catch (TmfAnalysisException e) { Activator.getDefault().logError("Error initializing statistics analysis module", e); } }
Source:
<code>void maybeChangeExpirationDate(IndexValue target, List<IndexValue> allValues) { if (target.isTTLUpdate()) { <START> return; <END> } for (IndexValue v : allValues) { if (v.isTTLUpdate()) { target.setExpiresAtMs(v.getExpiresAtMs()); target.setFlag(IndexValue.Flags.Ttl_Update_Index); return; } } }</code><technical_language>if target is updated expiration time = -1, in case skip update</technical_language>

Target:
void maybeChangeExpirationDate(IndexValue target, List<IndexValue> allValues) { if (target.isTTLUpdate() && target.getExpiresAtMs() == Utils.Infinite_Time) { return; } for (IndexValue v : allValues) { if (v.isTTLUpdate()) { target.setExpiresAtMs(v.getExpiresAtMs()); target.setFlag(IndexValue.Flags.Ttl_Update_Index); return; } } }
Source:
<code>public DocumentModel run(DocumentModel doc) { <START> if (before != null && !before.getParentRef().equals(doc.getParentRef())) { <END> throw new NuxeoException(NOT_SAME_FOLDER_ERROR_MSG); } session.orderBefore(doc.getParentRef(), doc.getName(), before != null ? before.getName() : null); session.save(); return session.getDocument(doc.getRef()); }</code><technical_language>compare refs, imagine is IdRef other a PathRef..</technical_language>

Target:
public DocumentModel run(DocumentModel doc) { try { session.orderBefore(doc.getParentRef(), doc.getName(), before != null ? before.getName() : null); session.save(); return session.getDocument(doc.getRef()); } catch (DocumentNotFoundException e) { throw new NuxeoException(NOT_SAME_FOLDER_ERROR_MSG); } }
Source:
<code><START> public synchronized void cleanupQueue(String queueName) throws InterruptedException { <END> logger.info("Cleaning up queue: " + queueName); taskDriver.cleanupQueue(queueName); }</code><technical_language>is purpose of cleanup? mention in java doc</technical_language>

Target:
public synchronized void cleanupQueue(String queueName) { logger.info("Cleaning up queue: " + queueName); taskDriver.cleanupQueue(queueName); }
Source:
<code>public CommandResult runCommand(Integer id, String command) { CommandResult commandResult = null; Process process = null; String[] callSequence = command.split("[\\r\\n\\s]+"); try { process = new ProcessBuilder(callSequence).start(); ArrayList<String> outputMessage = inputStreamArrayToList(process.getInputStream()); ArrayList<String> errorMessage = inputStreamArrayToList(process.getErrorStream()); int errCode = process.waitFor(); outputMessage.addAll(errorMessage); <START> commandResult = new CommandResult(id, command, errCode == 0, outputMessage); <END> } catch (IOException | InterruptedException exception) { ArrayList<String> errorMessages = new ArrayList<>(); errorMessages.add(exception.getCause().toString()); errorMessages.add(exception.getMessage()); commandResult = new CommandResult(id, command, false, errorMessages); return commandResult; } finally { if (process != null) { closeStream(process.getInputStream()); closeStream(process.getOutputStream()); closeStream(process.getErrorStream()); } } return commandResult; }</code><technical_language>If a called script is returning error code unequal zero error message(s) important displayed in frontend logged</technical_language>

Target:
public CommandResult runCommand(Integer id, String command) { CommandResult commandResult = null; Process process = null; String[] callSequence = command.split("[\\r\\n\\s]+"); try { process = new ProcessBuilder(callSequence).start(); ArrayList<String> outputMessage = inputStreamArrayToList(process.getInputStream()); ArrayList<String> errorMessage = inputStreamArrayToList(process.getErrorStream()); int errCode = process.waitFor(); outputMessage.addAll(errorMessage); commandResult = new CommandResult(id, command, errCode == 0, outputMessage); if (!commandResult.isSuccessful()) { logger.error("Execution of Command " + commandResult.getId() + " " + commandResult.getCommand() + " failed!: " + commandResult.getMessages()); } if (commandResult.isSuccessful()) { logger.info("Execution of Command " + commandResult.getId() + " " + commandResult.getCommand() + " was succesfull!: " + commandResult.getMessages()); } } catch (IOException | InterruptedException exception) { ArrayList<String> errorMessages = new ArrayList<>(); errorMessages.add(exception.getCause().toString()); errorMessages.add(exception.getMessage()); commandResult = new CommandResult(id, command, false, errorMessages); logger.error("Execution of Command " + commandResult.getId() + " " + commandResult.getCommand() + " failed!: " + commandResult.getMessages()); return commandResult; } finally { if (process != null) { closeStream(process.getInputStream()); closeStream(process.getOutputStream()); closeStream(process.getErrorStream()); } } return commandResult; }
Source:
<code>protected Collection<Integer> translateForBatchInternal( final AbstractMultipleInputTransformation<OUT> transformation, final Context context) { boolean isKeyed = transformation instanceof KeyedMultipleInputTransformation; <START> boolean isInputSelectable = isInputSelectable(transformation); <END> if (isKeyed && !isInputSelectable) { BatchExecutionUtils.adjustChainingStrategy(transformation); } Collection<Integer> ids = translateInternal(transformation, context); if (isKeyed && !isInputSelectable) { BatchExecutionUtils.applySortingInputs(transformation.getId(), context); } return ids; }</code><technical_language>making like: Collection<Integer> ids = translateInternal(transformation, context); if (isKeyed && !isInputSelectable) { transformation.setChainingStrategy(ChainingStrategy.HEAD); BatchExecutionUtils.applySortingInputs(transformation.getId(), context); } This if () ... check checked once. for other translators</technical_language>

Target:
protected Collection<Integer> translateForBatchInternal( final AbstractMultipleInputTransformation<OUT> transformation, final Context context) { Collection<Integer> ids = translateInternal(transformation, context); boolean isKeyed = transformation instanceof KeyedMultipleInputTransformation; if (isKeyed) { BatchExecutionUtils.applySortingInputs(transformation.getId(), context); } return ids; }
Source:
<code>public TableStatistics getTableStatistics(ConnectorSession session, ConnectorTableHandle tableHandle, Constraint<ColumnHandle> constraint) { if (!isStatisticsEnabled(session)) { return EMPTY_STATISTICS; } List<HivePartition> hivePartitions = partitionManager.getPartitions(metastore, tableHandle, constraint).getPartitions(); <START> Map<String, ColumnHandle> tableColumns = Maps.filterValues( <END> getColumnHandles(session, tableHandle), columnHandle -> !getColumnMetadata(session, tableHandle, columnHandle).isHidden()); return hiveStatisticsProvider.getTableStatistics(session, tableHandle, hivePartitions, tableColumns); }</code><technical_language>filterValues returns a view unexpected performance characteristics. For this reason, avoid Guava methods return collection views. This wrapped ImmutableMap.copyOf(), easily streams instead: java Map<String, ColumnHandle> tableColumns = getColumnHandles(session, tableHandle) .entrySet().stream() .filter(entry -> ((HiveColumnHandle) entry.getValue()).isHidden()) .collect(toImmutableMap(Map.Entry::getKey, Map.Entry::getValue));</technical_language>

Target:
public TableStatistics getTableStatistics(ConnectorSession session, ConnectorTableHandle tableHandle, Constraint<ColumnHandle> constraint) { if (!isStatisticsEnabled(session)) { return EMPTY_STATISTICS; } List<HivePartition> hivePartitions = partitionManager.getPartitions(metastore, tableHandle, constraint).getPartitions(); Map<String, ColumnHandle> tableColumns = getColumnHandles(session, tableHandle) .entrySet().stream() .filter(entry -> !((HiveColumnHandle) entry.getValue()).isHidden()) .collect(toImmutableMap(Map.Entry::getKey, Map.Entry::getValue)); return hiveStatisticsProvider.getTableStatistics(session, tableHandle, hivePartitions, tableColumns); }
Source:
<code>public void setLoadMeterTimerPeriod(int p) { <START> if (m_loadMeterTimerPeriod == p) return; <END> m_loadMeterTimerPeriod = p > LOAD_METER_TIMER_MIN ? p : LOAD_METER_TIMER_MIN; disposeLoadMeterTimer(); initializeLoadMeterTimer(); }</code><technical_language>put assert if want. assert (p > m_LoadMeterTimerPeriodMin); warn designer is wrong, code recover in production</technical_language>

Target:
public void setLoadMeterTimerPeriod(int p) { assert (p > LOAD_METER_TIMER_MIN); if (m_loadMeterTimerPeriod == p) return; m_loadMeterTimerPeriod = p > LOAD_METER_TIMER_MIN ? p : LOAD_METER_TIMER_MIN; disposeLoadMeterTimer(); initializeLoadMeterTimer(); }
Source:
<code>private static List<List<String>> decodePartitionLists(Object object) { if (object == null) { return null; } return ImmutableList.copyOf(((Collection<?>) object).stream() .peek(HiveAnalyzeProperties::throwIfNull) <START> .map(partition -> ((Collection<?>) partition).stream() <END> .map(name -> name == null ? HIVE_DEFAULT_DYNAMIC_PARTITION : ((String) name)) .collect(toImmutableList())) .collect(toList())); }</code><technical_language>elements of stream ImmutableList, null, they</technical_language>

Target:
private static List<List<String>> decodePartitionLists(Object object) { if (object == null) { return null; } return ImmutableList.copyOf(((Collection<?>) object).stream() .peek(HiveAnalyzeProperties::throwIfNull) .map(partition -> ((Collection<?>) partition).stream() .map(name -> firstNonNull((String) name, HIVE_DEFAULT_DYNAMIC_PARTITION)) .collect(toImmutableList())) .collect(toImmutableSet())); }
Source:
<code>private int buildsOfProjectOnAllNodes(Task task) { if (!shouldBeThrottled(task, getThrottleJobProperty(task))) { return 0; } Job job = taskToJob(task); if (job != null) { RunList<?> runningBuilds = job.getBuilds().filter(new Predicate<Run>() { @Override public boolean apply(Run run) { return run.isBuilding(); } }); <START> int runCount = Iterators.size(runningBuilds.iterator()); <END> LOGGER.log(Level.FINE, "There are {0} running builds of {1}.", new Object[]{runCount, job.getDisplayName()}); return runCount; } LOGGER.log(Level.WARNING, "Could not determine number of builds of " + task.getDisplayName()); return 0; }</code><technical_language>nit: gate this call if (LOGGER.isLoggable(Level.FINE) avoid iterating builds twice</technical_language>

Target:
private int buildsOfProjectOnAllNodes(Task task) { if (!shouldBeThrottled(task, getThrottleJobProperty(task))) { return 0; } if (task.getClass().getName().equals("org.jenkinsci.plugins.workflow.job.WorkflowJob")) { return buildsOfPipelineJob(task); } else { return buildsOfProjectOnAllNodesImpl(task); } }
Source:
<code>protected void onRemoveElement(Rule rule) { String uid = rule.getUID(); ruleEngine.removeRule(uid); String templateUID = rule.getTemplateUID(); if (templateUID != null) { synchronized (this) { Set<String> ruleUIDs = mapTemplateToRules.get(templateUID); if (ruleUIDs != null) { ruleUIDs.remove(uid); } } } <START> postRuleRemovedEvent(rule); <END> }</code><technical_language>Move removed method</technical_language>

Target:
protected void onRemoveElement(Rule rule) { String uid = rule.getUID(); ruleEngine.removeRule(uid); String templateUID = rule.getTemplateUID(); if (templateUID != null) { synchronized (this) { Set<String> ruleUIDs = mapTemplateToRules.get(templateUID); if (ruleUIDs != null) { ruleUIDs.remove(uid); } } } }
Source:
<code>private void closeSerialPort() { if (serialPort != null) { try { serialPort.removeEventListener(); outputStream.flush(); outputStream.close(); inputStream.close(); } catch (Exception e) { logger.error("Error closing serial port.", e); } finally { serialPort.close(); logger.debug("Closed serial port."); serialPort = null; inputStream = null; outputStream = null; } } <START> <END> }</code><technical_language>blank line</technical_language>

Target:
private void closeSerialPort() { if (serialPort != null) { SerialPort sp = serialPort; try { sp.disableReceiveTimeout(); sp.removeEventListener(); if (outputStream != null) { OutputStream os = outputStream; os.flush(); os.close(); } if (inputStream != null) { inputStream.close(); } } catch (IOException e) { logger.error("Error closing serial port.", e); } finally { sp.close(); logger.debug("Closed serial port."); serialPort = null; inputStream = null; outputStream = null; } } }
Source:
<code>public void addFunction(GoloFunction function) { FunctionContainer container = this.functionContainersStack.peek(); if(container.getFunctions().contains(function)) { GoloFunction firstDeclaration = null; for (GoloFunction f : container.getFunctions()) { if (function.equals(f)) { firstDeclaration = f; } } errorMessage(AMBIGUOUS_DECLARATION, function.getASTNode(), String.format("Declaring a function `%s` twice (declared first at line=%d, column=%d) ", function.getName(), <START> firstDeclaration.getASTNode().getLineInSourceCode(), <END> firstDeclaration.getASTNode().getColumnInSourceCode())); } container.addFunction(function); }</code><technical_language>GoloASTNode::getPositionInSourceCode override toString..</technical_language>

Target:
public void addFunction(GoloFunction function) { FunctionContainer container = this.functionContainersStack.peek(); if(container.getFunctions().contains(function)) { GoloFunction firstDeclaration = null; for (GoloFunction f : container.getFunctions()) { if (function.equals(f)) { firstDeclaration = f; } } errorMessage(AMBIGUOUS_DECLARATION, function.getASTNode(), String.format("Declaring a function `%s` twice (declared first here: %s)", function.getName(), firstDeclaration == null ? "unknown" : firstDeclaration.getASTNode().getPositionInSourceCode())); } container.addFunction(function); }
Source:
<code>public int hashCode() { int result = apiKey != null ? apiKey.hashCode() : 0; result = 31 * result + (clientId != null ? clientId.hashCode() : 0); result = 31 * result + (stripeVersion != null ? stripeVersion.hashCode() : 0); result = 31 * result + (stripeVersionOnBehalfOf != null ? stripeVersionOnBehalfOf.hashCode() : 0); result = 31 * result + (idempotencyKey != null ? idempotencyKey.hashCode() : 0); <START> result = 31 * result + (stripeAccount != null ? stripeAccount.hashCode() : 0); <END> result = 31 * result + connectTimeout; result = 31 * result + readTimeout; return result; }</code><technical_language>+1. manual implementations - easy forget things</technical_language>

Target:
public int hashCode() { int result = apiKey != null ? apiKey.hashCode() : 0; result = 31 * result + (clientId != null ? clientId.hashCode() : 0); result = 31 * result + (idempotencyKey != null ? idempotencyKey.hashCode() : 0); result = 31 * result + (stripeAccount != null ? stripeAccount.hashCode() : 0); result = 31 * result + (stripeVersion != null ? stripeVersion.hashCode() : 0); result = 31 * result + (stripeVersionOverride != null ? stripeVersionOverride.hashCode() : 0); result = 31 * result + connectTimeout; result = 31 * result + readTimeout; return result; }
Source:
<code>public long getNextTimestamp() throws TimestampIOException { long nextTS = _timestampCounter.addAndGet(TIMESTAMP_INCREMENT); <START> long maxTS = _maxReservedTimestamp; END> if (nextTS > maxTS) { reserveNextBlock(nextTS); } _numTimestampsCreated.incrementAndGet(); return nextTS; }</code><technical_language>Double volatile read is gone. get rid of maxTS</technical_language>

Target:
public long getNextTimestamp() throws TimestampIOException { long nextTS = _timestampCounter.addAndGet(TIMESTAMP_INCREMENT); if (nextTS > _maxReservedTimestamp) { reserveNextBlock(nextTS); } _numTimestampsCreated.incrementAndGet(); return nextTS; }
Source:
<code>public void getDuplicatePatientsByAttributes_shouldThrowAnAPIExceptionIfAttributesIsEmpty() { <START> List<String> attributes = new ArrayList<>(); <END> patientService.getDuplicatePatientsByAttributes(attributes); }</code><technical_language>simply inline attributes variable</technical_language>

Target:
public void getDuplicatePatientsByAttributes_shouldThrowAnAPIExceptionIfAttributesIsEmpty() { expectedException.expect(APIException.class); expectedException.expectMessage(NULL_ERROR_MESSAGE_FOR_ATTRIBUTES_NULL); patientService.getDuplicatePatientsByAttributes(new ArrayList<>()); }
Source:
<code>public T peek(int n) { <START> return dequeue.peekLast(n); <END> }</code><technical_language>here, need delegate add value</technical_language>

Target:
public T peek(int n) { return elements[(head + n) & mask]; }
Source:
<code>public JudgmentEnrichmentHash process(JudgmentEnrichmentTags judgmentEnrichmentTags) throws Exception { String hash = judgmentEnrichmentTagsHashCalculator.calculateHash(judgmentEnrichmentTags); JudgmentEnrichmentHash enrichmentHash = judgmentEnrichmentHashRepository.findByJudgmentId(judgmentEnrichmentTags.getJudgmentId()); if (enrichmentHash == null) { enrichmentHash = new JudgmentEnrichmentHash(); enrichmentHash.setJudgmentId(judgmentEnrichmentTags.getJudgmentId()); } <START> enrichmentHash.fillNewHash(hash); <END> return enrichmentHash; }</code><technical_language>compile, updateHash</technical_language>

Target:
public JudgmentEnrichmentHash process(JudgmentEnrichmentTags judgmentEnrichmentTags) throws Exception { JudgmentEnrichmentHash enrichmentHash = judgmentEnrichmentHashRepository.findByJudgmentId(judgmentEnrichmentTags.getJudgmentId()); if (enrichmentHash == null) { enrichmentHash = new JudgmentEnrichmentHash(); enrichmentHash.setJudgmentId(judgmentEnrichmentTags.getJudgmentId()); } String hash = judgmentEnrichmentTagsHashCalculator.calculateHash(judgmentEnrichmentTags); enrichmentHash.updateHash(hash); return enrichmentHash; }
Source:
<code>public void test_psql_format_from_string() { Period period = PGIntervalParser.apply("@ 1 year 1 mon 1 day 1 hour 1 minute 1 secs"); <START> Assert.assertEquals(period, <END> new Period().withYears(1).withMonths(1).withDays(1).withHours(1).withMinutes(1).withSeconds(1)); }</code><technical_language>generally prefer assertThat(..., is(..)) for error messages</technical_language>

Target:
public void test_psql_format_from_string() { Period period = PGIntervalParser.apply("@ 1 year 1 mon 1 day 1 hour 1 minute 1 secs"); assertThat(period, is(new Period().withYears(1).withMonths(1).withDays(1).withHours(1).withMinutes(1).withSeconds(1))); }
Source:
<code>private void processInitialStatusUpdates(WarningsPrinter warningsPrinter) { while (client.isRunning() && (client.currentData().getData() == null)) { warningsPrinter.print(client.currentStatusInfo().getWarnings(), true, false); client.advance(); } <START> List<PrestoWarning> warnings = (client.isRunning() ? client.currentStatusInfo() : client.finalStatusInfo()).getWarnings(); <END> warningsPrinter.print(warnings, false, true); }</code><technical_language>inlined conditional expression this hard read. Extract a variable add .getWarnings() of branches</technical_language>

Target:
private void processInitialStatusUpdates(WarningsPrinter warningsPrinter) { while (client.isRunning() && (client.currentData().getData() == null)) { warningsPrinter.print(client.currentStatusInfo().getWarnings(), true, false); client.advance(); } List<PrestoWarning> warnings; if (client.isRunning()) { warnings = client.currentStatusInfo().getWarnings(); } else { warnings = client.finalStatusInfo().getWarnings(); } warningsPrinter.print(warnings, false, true); }
Source:
<code>public List<DataNode> getAllExistingDataNodes() { List<DataNode> dataNodes = new ArrayList<>(); for (Datacenter dcObj : hardwareLayout.getDatacenters()) { dataNodes.addAll(dcObj.getDataNodes()); } <START> return dataNodes; <END> }</code><technical_language>Collections.unmodifiable</technical_language>

Target:
public List<DataNode> getAllExistingDataNodes() { List<DataNode> dataNodes = new ArrayList<>(); for (Datacenter dcObj : hardwareLayout.getDatacenters()) { dataNodes.addAll(dcObj.getDataNodes()); } return Collections.unmodifiableList(dataNodes); }
Source:
<code>private void activateContextService() { IContextService contextService = (IContextService) getSite() .getService(IContextService.class); <START> if (contextService != null) { <END> contextService.activateContext(VIEW_ID); } }</code><technical_language>Style-nit: brackets single-line blocks</technical_language>

Target:
private void activateContextService() { IContextService contextService = (IContextService) getSite() .getService(IContextService.class); if (contextService != null) contextService.activateContext(VIEW_ID); }
Source:
<code>public TimeDimensionColumn getTimeDimension(String dimensionName) { return getDimensions().stream() <START> .filter(dimension -> dimension.getName().equals(dimensionName)) <END> .filter(dimension -> dimension instanceof TimeDimensionColumn) .map(TimeDimensionColumn.class::cast) .findAny() .orElse(null); }</code><technical_language>I this stream().filter(dimension -> dimension.getName().equals(dimensionName)) times, store this in a **name -> dimension** map</technical_language>

Target:
public TimeDimensionColumn getTimeDimension(String dimensionName) { DimensionColumn dimension = dimensions.get(dimensionName); if (dimension instanceof TimeDimensionColumn) { return (TimeDimensionColumn) dimension; } return null; }
Source:
<code>private void autoIgnoreTopLevelDerivedResources(IProject project, IProgressMonitor monitor) throws CoreException { List<IPath> paths = findDerivedResources(project); if (paths.size() > 0) { IgnoreOperation ignoreOp = new IgnoreOperation(paths); <START> ignoreOp.execute(monitor); <END> } }</code><technical_language>a SubMonitor here</technical_language>

Target:
private void autoIgnoreTopLevelDerivedResources(IProject project, IProgressMonitor monitor) throws CoreException { List<IPath> paths = findDerivedResources(project); if (paths.size() > 0) { IgnoreOperation ignoreOp = new IgnoreOperation(paths); IProgressMonitor subMonitor = new SubProgressMonitor(monitor, 1); ignoreOp.execute(subMonitor); } }
Source:
<code>public static <T> Lazy<Seq<T>> sequence(Iterable<? extends Lazy<? extends T>> values) { Objects.requireNonNull(values, "values is null"); <START> return Lazy.of(() -> Stream.ofAll(values).map(Lazy::get)); <END> }</code><technical_language>Please Vector.ofAll() instead of Stream.ofAll(). explanation (at Option.sequence() change)</technical_language>

Target:
public static <T> Lazy<Seq<T>> sequence(Iterable<? extends Lazy<? extends T>> values) { Objects.requireNonNull(values, "values is null"); return Lazy.of(() -> Vector.ofAll(values).map(Lazy::get)); }
Source:
<code>public boolean postSubtitleInfo(long time, long dur, byte[] rawText, int flags) { if ((flags & FLUSH_SUBTITLE_QUEUE) == FLUSH_SUBTITLE_QUEUE) { subtitleLock.writeLock().lock(); try { subEntries.clear(); subEntryPos = -1; } finally { subtitleLock.writeLock().unlock(); } } <START> return insertEntryForPostedInfo(time, dur, rawText); <END> }</code><technical_language>This _should_ OK, want put return statement finally block in order match more closely prior behavior</technical_language>

Target:
public boolean postSubtitleInfo(long time, long dur, byte[] rawText, int flags) { subtitleLock.writeLock().lock(); try { if ((flags & FLUSH_SUBTITLE_QUEUE) == FLUSH_SUBTITLE_QUEUE) { subEntries.clear(); subEntryPos = -1; } return insertEntryForPostedInfo(time, dur, rawText); } finally { subtitleLock.writeLock().unlock(); } }
Source:
<code>public void testSprintCRUD() { JaxNewAgileTeam newTeam = newJaxAgileTeam(); Response response = agile.createTeam(newTeam); Assert.assertEquals(Response.Status.CREATED.getStatusCode(), response.getStatus()); JaxNewAgileSprint newSprint = new JaxNewAgileSprint(); newSprint.setName("My Sprint"); Long uuid = Lib.generateArtifactIdAsInt(); newSprint.setUuid(uuid); newSprint.setTeamUuid(teamUuid); Response response2 = agile.createSprint(teamUuid, newSprint); Assert.assertEquals(Response.Status.CREATED.getStatusCode(), response2.getStatus()); List<JaxAgileSprint> sprints = agile.getSprints(teamUuid); Assert.assertEquals(1, sprints.size()); JaxAgileSprint sprint = sprints.iterator().next(); Assert.assertEquals("My Sprint", sprint.getName()); Assert.assertEquals(teamUuid, sprint.getTeamUuid()); <START> Assert.assertEquals(uuid.longValue(), sprint.getUuid().longValue()); <END> agile.deleteSprint(teamUuid, sprint.getUuid()); sprints = agile.getSprints(teamUuid); Assert.assertNull(AtsClientService.get().getArtifact(sprint.getUuid())); }</code><technical_language>remove .longValue() uuids for</technical_language>

Target:
public void testSprintCRUD() { JaxNewAgileTeam newTeam = newJaxAgileTeam(); Response response = agile.createTeam(newTeam); Assert.assertEquals(Response.Status.CREATED.getStatusCode(), response.getStatus()); JaxNewAgileSprint newSprint = new JaxNewAgileSprint(); newSprint.setName("My Sprint"); Long uuid = Lib.generateArtifactIdAsInt(); newSprint.setUuid(uuid); newSprint.setTeamUuid(teamUuid); Response response2 = agile.createSprint(teamUuid, newSprint); Assert.assertEquals(Response.Status.CREATED.getStatusCode(), response2.getStatus()); List<JaxAgileSprint> sprints = agile.getSprints(teamUuid); Assert.assertEquals(1, sprints.size()); JaxAgileSprint sprint = sprints.iterator().next(); Assert.assertEquals("My Sprint", sprint.getName()); Assert.assertEquals(teamUuid, sprint.getTeamUuid()); Assert.assertEquals(uuid, sprint.getUuid()); agile.deleteSprint(teamUuid, sprint.getUuid()); sprints = agile.getSprints(teamUuid); Assert.assertNull(AtsClientService.get().getArtifact(sprint.getUuid())); }
Source:
<code>@Override public void end() { assert downstream() != null; assert waiting > 0; try { checkState(); waiting = -1; <START> if (rowIdx >= rows.size() && waiting == -1) <END> downstream().end(); } catch (Exception e) { downstream().onError(e); } }</code><technical_language>suggestion if (rowIdx >= rows.size() && requested > 0)</technical_language>

Target:
@Override public void end() { assert downstream() != null; assert waiting > 0; try { checkState(); waiting = -1; if (rowIdx >= rows.size() && requested > 0) downstream().end(); } catch (Exception e) { downstream().onError(e); } }
Source:
<code>public ParametersMap put(Parameter param, Object value) { if (!isAssignableFrom(param.getJavaType(), value.getClass())) { <START> throw new InvalidParameterValueException(param.getName(), param.getJavaType(), value.getClass()); <END> } paramsMap.put(param, (Serializable) value); return this; }</code><technical_language>I this pushed higher in patch chain</technical_language>

Target:
public ParametersMap put(Parameter param, Object value) { if (value == null) { remove(param); } else { if (!isAssignableFrom(param.getJavaType(), value.getClass())) { throw new InvalidParameterValueException(param.getName(), param.getJavaType(), value.getClass()); } paramsMap.put(param, (Serializable) value); } return this; }
Source:
<code>public X509Certificate[] getCertificateChain(String alias) { <START> return this.certsByAlias.get(alias); <END> }</code><technical_language>@ham1 , is this change in behaviour needed ? Thanks</technical_language>

Target:
public X509Certificate[] getCertificateChain(String alias) { X509Certificate[] result = this.certsByAlias.get(alias); if (result != null) { return result; } throw new IllegalArgumentException("No certificate found for alias:'" + alias + "'"); }
Source:
<code>private void assignTurns(String[] splitLaneOptions, TurnType t) { for (int i = 0; i < splitLaneOptions.length; i++) { String[] laneOptions = splitLaneOptions[i].split(";"); for (int j = 0; j < laneOptions.length; j++) { int turn; if (laneOptions[j].equals("none") || laneOptions[j].equals("through")) { turn = TurnType.C; } else if (laneOptions[j].equals("slight_right")) { turn = TurnType.TSLR; } else if (laneOptions[j].equals("slight_left")) { turn = TurnType.TSLL; } else if (laneOptions[j].equals("right")) { turn = TurnType.TR; } else if (laneOptions[j].equals("left")) { turn = TurnType.TL; } else if (laneOptions[j].equals("sharp_right")) { turn = TurnType.TSHR; } else if (laneOptions[j].equals("sharp_left")) { turn = TurnType.TSHL; } else if (laneOptions[j].equals("reverse")) { turn = TurnType.TU; } else { continue; } <START> if (TurnType.getPrimaryTurn(t.getLanes()[i]) == 0) { <END> t.setPrimaryTurn(i, turn); } else { t.setSecondaryTurn(i, turn); break; } } } }</code><technical_language>change clear, I a question. primary/secondary sort later? I a check swap primary secondary if (t.getValue() == turn similar direction) { t.setPrimary(turn); ...)</technical_language>

Target:
private void assignTurns(String[] splitLaneOptions, TurnType t) { for (int i = 0; i < splitLaneOptions.length; i++) { String[] laneOptions = splitLaneOptions[i].split(";"); for (int j = 0; j < laneOptions.length; j++) { int turn; if (laneOptions[j].equals("none") || laneOptions[j].equals("through")) { turn = TurnType.C; } else if (laneOptions[j].equals("slight_right")) { turn = TurnType.TSLR; } else if (laneOptions[j].equals("slight_left")) { turn = TurnType.TSLL; } else if (laneOptions[j].equals("right")) { turn = TurnType.TR; } else if (laneOptions[j].equals("left")) { turn = TurnType.TL; } else if (laneOptions[j].equals("sharp_right")) { turn = TurnType.TSHR; } else if (laneOptions[j].equals("sharp_left")) { turn = TurnType.TSHL; } else if (laneOptions[j].equals("reverse")) { turn = TurnType.TU; } else { continue; } if (TurnType.getPrimaryTurn(t.getLanes()[i]) == 0) { t.setPrimaryTurn(i, turn); } else { if (turn == t.getValue()) { t.setSecondaryTurn(i, TurnType.getPrimaryTurn(t.getLanes()[i])); t.setPrimaryTurn(i, turn); } else { t.setSecondaryTurn(i, turn); } break; } } } }
Source:
<code>public List<Property<?>> getProperties() { List<Property<?>> result = Lists.newArrayList(); BackdropProvider backdropProvider = CoreRegistry.get(BackdropProvider.class); if (backdropProvider != null) { <START> result.addAll(new ReflectionProvider(backdropProvider).getProperties()); <END> } DefaultRenderingProcess postRenderer = DefaultRenderingProcess.getInstance(); if (postRenderer != null) { result.addAll(new ReflectionProvider(postRenderer).getProperties()); } return result; }</code><technical_language>This is part of a mechanism for making values for tweaking in runtime running TeraEd</technical_language>

Target:
public List<Property<?>> getProperties() { List<Property<?>> result = Lists.newArrayList(); BackdropProvider backdropProvider = CoreRegistry.get(BackdropProvider.class); if (backdropProvider != null) { result.addAll(new ReflectionProvider(backdropProvider).getProperties()); } BackdropRenderer backdropRenderer = CoreRegistry.get(BackdropRenderer.class); if (backdropRenderer != null) { result.addAll(new ReflectionProvider(backdropRenderer).getProperties()); } DefaultRenderingProcess postRenderer = DefaultRenderingProcess.getInstance(); if (postRenderer != null) { result.addAll(new ReflectionProvider(postRenderer).getProperties()); } return result; }
Source:
<code>public void stop() { this.setActive(false); if (this.selector != null) { try { <START> this.selector.close(); <END> } catch (Exception e) { logger.error("Error closing selector", e); } } if (this.serverChannel == null) { return; } try { this.serverChannel.close(); } catch (IOException e) this.serverChannel = null; super.stop(); }</code><technical_language>I another bug - possible, super.stop() is called if serverChannel == null</technical_language>

Target:
public void stop() { this.setActive(false); if (this.selector != null) { try { this.selector.close(); } catch (Exception e) { logger.error("Error closing selector", e); } } if (this.serverChannel != null) { try { this.serverChannel.close(); } catch (IOException e) finally { this.serverChannel = null; } } super.stop(); }
Source:
<code>public void verifyBoardDescription( String description ) { <START> waitForTextToBePresentInElementByElement( boardDescription, description ); <END> PageObjectLogging.log("verifyBoardDescription", "board description verified", true); }</code><technical_language>previously i this way, i do follows: waitForElementPresent(boardDescription); Assertion.assertStringContains(boardDescription.getText(), description); ways correct</technical_language>

Target:
public void verifyBoardDescription( String description ) { waitForTextToBePresentInElementByElement( boardDescription, description ); waitForElementByElement( boardDescription ); Assertion.assertStringContains( boardDescription.getText(), description ); }
Source:
<code>protected void initStructureMergeViewerGroupProvider(Comparison comparison, IComparisonScope comparisonScope) { EMFCompareRCPUIPlugin plugin = EMFCompareRCPUIPlugin.getDefault(); IDifferenceGroupProvider.Descriptor.Registry groupProviderRegistry = plugin .getDifferenceGroupProviderRegistry(); Descriptor defaultGroupProvider = groupProviderRegistry.getDefaultGroupProvider(comparisonScope, comparison); if (defaultGroupProvider != null) { getStructureMergeViewerGrouper().setProvider(defaultGroupProvider.createGroupProvider()); } else { EMFCompareIDEUIPlugin.getDefault().getLog().log( <START> new Status(IStatus.WARNING, EMFCompareIDEUIPlugin.PLUGIN_ID, <END> "Unable to find a default group provider")); getStructureMergeViewerGrouper().setProvider(new DefaultGroupProvider()); } }</code><technical_language>Do log : default group is in case. This case happen if user manually alters IDifferenceGroupProvider.Descriptor.Registry remove default group, in case simply ignore modification default (a this)</technical_language>

Target:
protected void initStructureMergeViewerGroupProvider(Comparison comparison, IComparisonScope comparisonScope) { EMFCompareRCPUIPlugin plugin = EMFCompareRCPUIPlugin.getDefault(); IDifferenceGroupProvider.Descriptor.Registry groupProviderRegistry = plugin .getDifferenceGroupProviderRegistry(); Descriptor defaultGroupProvider = groupProviderRegistry.getDefaultGroupProvider(comparisonScope, comparison); IDifferenceGroupProvider defaultGroup = null; if (defaultGroupProvider != null) { defaultGroup = defaultGroupProvider.createGroupProvider(); } if (defaultGroup == null) { defaultGroup = new DefaultGroupProvider(); } getStructureMergeViewerGrouper().setProvider(defaultGroup); }
Source:
<code>public void addIncludeResource(String resource) { <START> String key = hasIncludeResourceHeader() ? Constants.INCLUDE_RESOURCE : Constants.INCLUDERESOURCE; <END> List<String> entries = getEntries(key, listConverter); entries.add(resource); setEntries(entries, key); }</code><technical_language>In setIncludeResource, prefer instruction. prefer header. I prefer newer instruction. If instruction, add new it</technical_language>

Target:
public void addIncludeResource(String resource) { String key = hasIncludeResourceInstruction() ? Constants.INCLUDERESOURCE : Constants.INCLUDE_RESOURCE; List<String> entries = getEntries(key, listConverter); entries.add(resource); setEntries(entries, key); }
Source:
<code>public String toString() { StringBuilder sb = new StringBuilder("ConfigRenderOptions("); if (originComments) sb.append("originComments,"); if (comments) sb.append("comments,"); if (formatted) sb.append("formatted,"); if (json) sb.append("json,"); <START> if (comparator != null) <END> sb.append(comparator.getClass().getSimpleName()); if (sb.charAt(sb.length() - 1) == ',') sb.setLength(sb.length() - 1); sb.append(")"); return sb.toString(); }</code><technical_language>is comparator allowed null? (it DefaultComparator if set explicitly)</technical_language>

Target:
public String toString() { StringBuilder sb = new StringBuilder("ConfigRenderOptions("); if (originComments) sb.append("originComments,"); if (comments) sb.append("comments,"); if (formatted) sb.append("formatted,"); if (json) sb.append("json,"); sb.append(comparator.getClass().getSimpleName()); if (sb.charAt(sb.length() - 1) == ',') sb.setLength(sb.length() - 1); sb.append(")"); return sb.toString(); }
Source:
<code>public RequestTemplate resolve(Map<String, ?> unencoded) { replaceQueryValues(unencoded); Map<String, String> encoded = new LinkedHashMap<String, String>(); for (Entry<String, ?> entry : unencoded.entrySet()) { encoded.put(entry.getKey(), urlEncode(String.valueOf(entry.getValue()))); } String resolvedUrl = expand(url.toString(), encoded).replace("+", "%20"); if (decodeSlash) { resolvedUrl = resolvedUrl.replace("%2F", "/"); } url = new StringBuilder(resolvedUrl); Map<String, Collection<String>> resolvedHeaders = new LinkedHashMap<String, Collection<String>>(); for (String field : headers.keySet()) { Collection<String> resolvedValues = new ArrayList<String>(); for (String value : valuesOrEmpty(headers, field)) { <START> String expandedValueWithEncodedPlus = expand(value, encoded).replaceAll("\\+", "__PLUS__"); <END> String resolved = urlDecode(expandedValueWithEncodedPlus).replaceAll("__PLUS__", "+"); resolvedValues.add(resolved); } resolvedHeaders.put(field, resolvedValues); } headers.clear(); headers.putAll(resolvedHeaders); if (bodyTemplate != null) { body(urlDecode(expand(bodyTemplate, encoded))); } return this; }</code><technical_language>this do thing? bash String resolved = urlDecode(expand(value, encoded)); resolved = resolved.replace("%2B", "+"); // special case + commonly in vnd media types</technical_language>

Target:
public RequestTemplate resolve(Map<String, ?> unencoded) { replaceQueryValues(unencoded); Map<String, String> encoded = new LinkedHashMap<String, String>(); for (Entry<String, ?> entry : unencoded.entrySet()) { encoded.put(entry.getKey(), urlEncode(String.valueOf(entry.getValue()))); } String resolvedUrl = expand(url.toString(), encoded).replace("+", "%20"); if (decodeSlash) { resolvedUrl = resolvedUrl.replace("%2F", "/"); } url = new StringBuilder(resolvedUrl); Map<String, Collection<String>> resolvedHeaders = new LinkedHashMap<String, Collection<String>>(); for (String field : headers.keySet()) { Collection<String> resolvedValues = new ArrayList<String>(); for (String value : valuesOrEmpty(headers, field)) { String expandedValueWithEncodedPlus = expand(value.replace("+", "%2B"), encoded); String resolved = urlDecode(expandedValueWithEncodedPlus); resolvedValues.add(resolved); } resolvedHeaders.put(field, resolvedValues); } headers.clear(); headers.putAll(resolvedHeaders); if (bodyTemplate != null) { body(urlDecode(expand(bodyTemplate, encoded))); } return this; }
Source:
<code><START> DataTable getDataTable() <END> { return dataTable; }</code><technical_language>public, for other</technical_language>

Target:
public DataTable getDataTable() { return dataTable; }
Source:
<code>private Object getMapping(String mappingName) { DocumentReference mappingDoc = getMappingDocument(); Object result = getMapping(mappingDoc, mappingName); if (result == null) { try { JSONObject mappings = JSONObject.fromObject(this.bridge.getDocumentContentForDefaultLanguage(mappingDoc)); result = mappings.get(mappingName); <START> } catch (Exception ex) { <END> this.logger.warn("Failed to access mapping: {}", ex.getMessage()); } } return result; }</code><technical_language>remove this code, compatibility is important. Existing users custom mappings syntax, get broken upgrade. Add a new branch top, checking if content starts {</technical_language>

Target:
private Object getMapping(String mappingName) { DocumentReference mappingDoc = getMappingDocument(); Object result = getMapping(mappingDoc, mappingName); if (result == null) { try { String mappingContent = this.bridge.getDocumentContentForDefaultLanguage(mappingDoc); if (mappingContent.startsWith("{{velocity")) { result = parseVelocityMapping(mappingDoc).get(mappingName); } else if (mappingContent.startsWith("{{groovy")) { result = parseGroovyMapping(mappingDoc).get(mappingName); } else { result = JSONObject.fromObject(mappingContent).get(mappingName); } } catch (Exception ex) { this.logger.warn("Failed to access mapping: {}", ex.getMessage()); } } return result; }
Source:
<code>private Set<Credential> supported(final Collection<? extends Credential> candidateCredentials) { return candidateCredentials.stream().filter(c -> credentials.contains(c.getClass())) <START> .collect(Collectors.toSet()); <END> }</code><technical_language>collect a set preserve order</technical_language>

Target:
private Set<Credential> supported(final Collection<? extends Credential> candidateCredentials) { return candidateCredentials.stream().filter(c -> credentials.contains(c.getClass())) .collect(Collectors.toCollection(LinkedHashSet::new)); }
Source:
<code>void class_factory_should_allow_class_assertions() { @SuppressWarnings("deprecation") <START> Object value = Certificate.class; <END> ClassAssert result = assertThat(value).asInstanceOf(CLASS); result.hasAnnotations(Deprecated.class); }</code><technical_language>replace Certificate Function avoid a deprecated class ;-), means replacing Deprecated FunctionalInterface in part</technical_language>

Target:
void class_factory_should_allow_class_assertions() { Object value = Function.class; ClassAssert result = assertThat(value).asInstanceOf(CLASS); result.hasAnnotations(FunctionalInterface.class); }
Source:
<code>private void recoverSegment(PBDSegment qs, boolean deleteEmpty) throws IOException { if (deleteEmpty) { <START> if (qs.getNumEntries() == 0) { <END> qs.setFinal(false); if (m_usageSpecificLog.isDebugEnabled()) { m_usageSpecificLog.debug("Found Empty Segment with entries: " + qs.getNumEntries() + " For: " + qs.file().getName()); m_usageSpecificLog.debug("Segment " + qs.file() + " (final: " + qs.isFinal() + "), will be closed and deleted during init"); } qs.closeAndDelete(); return; } } if (!qs.isFinal()) { LOG.warn("Segment " + qs.file() + " (final: " + qs.isFinal() + "), has been recovered but is not in a final state"); } else if (m_usageSpecificLog.isDebugEnabled()) { m_usageSpecificLog.debug("Segment " + qs.file() + " (final: " + qs.isFinal() + "), has been recovered"); } qs.close(); m_segments.put(qs.segmentIndex(), qs); }</code><technical_language>combine ifs if (deleteEmpty && qs.getNumEntries() == 0) {</technical_language>

Target:
private void recoverSegment(PBDSegment qs, boolean deleteEmpty) throws IOException { if (deleteEmpty && qs.getNumEntries() == 0) { qs.setFinal(false); if (m_usageSpecificLog.isDebugEnabled()) { m_usageSpecificLog.debug("Found Empty Segment with entries: " + qs.getNumEntries() + " For: " + qs.file().getName()); m_usageSpecificLog.debug("Segment " + qs.file() + " (final: " + qs.isFinal() + "), will be closed and deleted during init"); } qs.closeAndDelete(); return; } if (!qs.isFinal()) { LOG.warn("Segment " + qs.file() + " (final: " + qs.isFinal() + "), has been recovered but is not in a final state"); } else if (m_usageSpecificLog.isDebugEnabled()) { m_usageSpecificLog.debug("Segment " + qs.file() + " (final: " + qs.isFinal() + "), has been recovered"); } qs.close(); m_segments.put(qs.segmentIndex(), qs); }
Source:
<code>void send(DatastreamTask task, ProducerRecord<K, V> producerRecord, Callback onComplete) throws InterruptedException { boolean retry = true; int numberOfAttempts = 0; while (retry) { try { numberOfAttempts++; maybeGetKafkaProducer(task).ifPresent(p -> doSend(p, producerRecord, onComplete)); retry = false; <START> } catch (TimeoutException ex) { <END> _log.warn("Kafka producer buffer is full, retry in ms.", _sendFailureRetryWaitTimeMs, ex); Thread.sleep(_sendFailureRetryWaitTimeMs); } catch (IllegalStateException ex) { _log.warn("Either send is called on a closed producer or broker count is less than minISR, retry in ms.", _sendFailureRetryWaitTimeMs, ex); } catch (KafkaException ex) { Throwable rootCause = ExceptionUtils.getRootCause(ex); if (numberOfAttempts > MAX_SEND_ATTEMPTS || (rootCause instanceof Error || rootCause instanceof RuntimeException)) { _log.error("Send failed for partition with a non retriable exception", producerRecord.partition(), ex); throw generateSendFailure(ex); } else { _log.warn("Send failed for partition with retriable exception, retry out of in ms.", producerRecord.partition(), numberOfAttempts, MAX_SEND_ATTEMPTS, _sendFailureRetryWaitTimeMs, ex); Thread.sleep(_sendFailureRetryWaitTimeMs); } } catch (Exception ex) { _log.error("Send failed for partition with an exception", producerRecord.partition(), ex); throw generateSendFailure(ex); } } }</code><technical_language>some reason reorder catches here? In previous code, catch IllegalStateException, catch TimeoutException, catch KafkaException. reorder is a good reason to. harder review I easily actual changes vs. reordering. renamed exception 'e' 'ex', is necessary</technical_language>

Target:
void send(DatastreamTask task, ProducerRecord<K, V> producerRecord, Callback onComplete) throws InterruptedException { boolean retry = true; int numberOfAttempts = 0; while (retry) { try { ++numberOfAttempts; maybeGetKafkaProducer(task).ifPresent(p -> doSend(p, producerRecord, onComplete)); retry = false; } catch (IllegalStateException e) { _log.warn("Either send is called on a closed producer or broker count is less than minISR, retry in ms.", _sendFailureRetryWaitTimeMs, e); Thread.sleep(_sendFailureRetryWaitTimeMs); } catch (TimeoutException e) { _log.warn("Kafka producer buffer is full, retry in ms.", _sendFailureRetryWaitTimeMs, e); Thread.sleep(_sendFailureRetryWaitTimeMs); } catch (KafkaException e) { Throwable cause = e.getCause(); while (cause instanceof KafkaException) { cause = cause.getCause(); } if (numberOfAttempts > MAX_SEND_ATTEMPTS || ((cause instanceof Error || cause instanceof RuntimeException))) { _log.error("Send failed for partition with a non retriable exception", producerRecord.partition(), e); throw generateSendFailure(e); } else { _log.warn("Send failed for partition with retriable exception, retry out of in ms.", producerRecord.partition(), numberOfAttempts, MAX_SEND_ATTEMPTS, _sendFailureRetryWaitTimeMs, e); Thread.sleep(_sendFailureRetryWaitTimeMs); } } catch (Exception e) { _log.error("Send failed for partition with an exception", producerRecord.partition(), e); throw generateSendFailure(e); } } }