auphong2707/dl4se-code-review-dataset huggingface dataset:
Source:
<code>public void close() { while (!connections.isEmpty()) { Connection conn = connections.poll(); if (conn != null) { try { conn.close(); } catch (SQLException e) { log.warn("Error while closing connection to {}", jdbcDriverInfo, e); } <START> } <END> } }</code><technical_language>Another write this, if want avoid a call concurrent collection: java for (Connection conn = connections.poll(); conn != null; conn = connections.poll()) { try { conn.close(); } catch (SQLException e) { log.warn("Error while closing connection {}", jdbcDriverInfo, e); } } (or a while loop too). a matter of style more else</technical_language>

Target:
public void close() { Connection conn; while ((conn = connections.poll()) != null) { try { conn.close(); } catch (Throwable e) { log.warn("Error while closing connection to {}", jdbcDriverInfo, e); } } }
Source:
<code>public KSyntax2GrammarStatesFilter(Context context) { super(KSyntax2GrammarStatesFilter.class.getName(), context); <START> for (String sort : context.definedSorts) { <END> NonTerminal nt = new NonTerminal(new NonTerminalId(sort)); grammar.add(nt); } }</code><technical_language>please check verify definedSorts is computed means of processing production in definition? this work expected</technical_language>

Target:
public KSyntax2GrammarStatesFilter(Context context) { super(KSyntax2GrammarStatesFilter.class.getName(), context); for (String sort : context.definedSorts) { grammar.add(new NonTerminal(sort)); } }
Source:
<code>public void handlePeriodicMeterReadsresponse(final DeviceMessageMetadata deviceMessageMetadata, final ResponseMessageResultType deviceResult, final OsgpException exception, final PeriodicMeterReadGasResponseDto periodMeterReadsValueDTO) { LOGGER.info("handlePeriodicMeterReadsresponse for MessageType: {}", deviceMessageMetadata.getMessageType()); ResponseMessageResultType result = deviceResult; if (exception != null) { LOGGER.error(DEVICE_RESPONSE_NOT_OK_LOG_MSG, exception); result = ResponseMessageResultType.NOT_OK; } <START> this.webServiceResponseMessageSender.send( <END> ResponseMessage.newResponseMessageBuilder() .withCorrelationUid(deviceMessageMetadata.getCorrelationUid()) .withOrganisationIdentification(deviceMessageMetadata.getOrganisationIdentification()) .withDeviceIdentification(deviceMessageMetadata.getDeviceIdentification()).withResult(result) .withOsgpException(exception) .withDataObject(this.monitoringMapper.map(periodMeterReadsValueDTO, PeriodicMeterReadsContainerGas.class)) .withMessagePriority(deviceMessageMetadata.getMessagePriority()).build(), deviceMessageMetadata.getMessageType()); }</code><technical_language>Extract building of ResponseMessage variable (in eclipse, select text, right-click > refactor > extract local variable / select code + shift+alt+L). This code a bit more readable, especially passing in other besides ResponseMessage</technical_language>

Target:
public void handlePeriodicMeterReadsresponse(final DeviceMessageMetadata deviceMessageMetadata, final ResponseMessageResultType deviceResult, final OsgpException exception, final PeriodicMeterReadGasResponseDto periodMeterReadsValueDTO) { LOGGER.info("handlePeriodicMeterReadsresponse for MessageType: {}", deviceMessageMetadata.getMessageType()); ResponseMessageResultType result = deviceResult; if (exception != null) { LOGGER.error(DEVICE_RESPONSE_NOT_OK_LOG_MSG, exception); result = ResponseMessageResultType.NOT_OK; } final ResponseMessage responseMessage = ResponseMessage.newResponseMessageBuilder() .withCorrelationUid(deviceMessageMetadata.getCorrelationUid()) .withOrganisationIdentification(deviceMessageMetadata.getOrganisationIdentification()) .withDeviceIdentification(deviceMessageMetadata.getDeviceIdentification()).withResult(result) .withOsgpException(exception) .withDataObject( this.monitoringMapper.map(periodMeterReadsValueDTO, PeriodicMeterReadsContainerGas.class)) .withMessagePriority(deviceMessageMetadata.getMessagePriority()).build(); this.webServiceResponseMessageSender.send(responseMessage, deviceMessageMetadata.getMessageType()); }
Source:
<code>public static String getFileOwner(Path path, LinkOption... options) throws IOException { String owner = null; try { UserPrincipal principal = Files.getOwner(path, options); if (principal != null) { owner = principal.getName(); } } catch (UnsupportedOperationException e) { } return owner; <START> } <END></code><technical_language>Simpler code: java try { UserPrincipal principal = Files.getOwner(path, options} return (principal != null) ? principal.getName() : null; } catch (UnsupportedOperationException e) { return null; // ignore }</technical_language>

Target:
public static String getFileOwner(Path path, LinkOption... options) throws IOException { try { UserPrincipal principal = Files.getOwner(path, options); return (principal == null) ? null : principal.getName(); } catch (UnsupportedOperationException e) { return null; } }
Source:
<code>AppServiceMSICredential(String clientId, IdentityClient identityClient) { Configuration configuration = Configuration.getGlobalConfiguration(); <START> if (configuration.contains(Configuration.PROPERTY_MSI_ENDPOINT)) { <END> msiEndpoint = configuration.get(Configuration.PROPERTY_MSI_ENDPOINT); } else { msiEndpoint = null; } if (configuration.contains(Configuration.PROPERTY_MSI_SECRET)) { msiSecret = configuration.get(Configuration.PROPERTY_MSI_SECRET); } else { msiSecret = null; } this.identityClient = identityClient; this.clientId = clientId; }</code><technical_language>if/else blocks set variable get return return null if exist</technical_language>

Target:
AppServiceMSICredential(String clientId, IdentityClient identityClient) { Configuration configuration = Configuration.getGlobalConfiguration(); this.msiEndpoint = configuration.get(Configuration.PROPERTY_MSI_ENDPOINT); this.msiSecret = configuration.get(Configuration.PROPERTY_MSI_SECRET); this.identityClient = identityClient; this.clientId = clientId; }
Source:
<code>public void lock(T id) throws InterruptedException { <START> threadsLocked.inc(); <END> idsLocked.update(1); lockInternal(id); threadsLocked.dec(); }</code><technical_language>For this do: threadsLocked.inc(); try { // other stuff } finally { threadsLocked.dec(); } This if exception is thrown decrement threadsLocked counter</technical_language>

Target:
public void lock(T id) throws InterruptedException { threadsLocked.inc(); try { idsLocked.update(1); lockInternal(id); } finally { threadsLocked.dec(); } }
Source:
<code>void transactionMessageSendAndCompleteTransaction(MessagingEntityType entityType, boolean isCommit) { setSenderAndReceiver(entityType, 0, false); final boolean isSessionEnabled = false; final String messageId = UUID.randomUUID().toString(); final ServiceBusMessage message = getMessage(messageId, false); AtomicReference<ServiceBusTransactionContext> transaction = new AtomicReference<>(); StepVerifier.create(sender.createTransaction()) .assertNext(txn -> { transaction.set(txn); assertNotNull(transaction); }) .verifyComplete(); assertNotNull(transaction.get()); StepVerifier.create(sender.send(message, transaction.get())) .verifyComplete(); if (isCommit) { StepVerifier.create(sender.commitTransaction(transaction.get()).delaySubscription(Duration.ofSeconds(1))) .verifyComplete(); StepVerifier.create(receiveAndDeleteReceiver.receive().next()) .assertNext(receivedMessage -> { assertMessageEquals(receivedMessage, messageId, isSessionEnabled); messagesPending.decrementAndGet(); }) .verifyComplete(); } else { <START> StepVerifier.create(sender.rollbackTransaction(transaction.get()).delaySubscription(Duration.ofSeconds(1))) <END> .verifyComplete(); } }</code><technical_language>testing here. is send operation in this transaction. Transactions multiple operations. verify rollback worked</technical_language>

Target:
void transactionMessageSendAndCompleteTransaction(MessagingEntityType entityType, boolean isCommit) { Duration shortTimeout = Duration.ofSeconds(15); setSenderAndReceiver(entityType, TestUtils.USE_CASE_SEND_READ_BACK_MESSAGES, false); final boolean isSessionEnabled = false; final String messageId = UUID.randomUUID().toString(); final int total = 3; final List<ServiceBusMessage> messages = TestUtils.getServiceBusMessages(total, messageId, CONTENTS_BYTES); AtomicReference<ServiceBusTransactionContext> transaction = new AtomicReference<>(); StepVerifier.create(sender.createTransaction()) .assertNext(txn -> { transaction.set(txn); assertNotNull(transaction); }) .verifyComplete(); assertNotNull(transaction.get()); StepVerifier.create(sender.send(messages, transaction.get())) .verifyComplete(); if (isCommit) { StepVerifier.create(sender.commitTransaction(transaction.get()).delaySubscription(Duration.ofSeconds(1))) .verifyComplete(); StepVerifier.create(receiver.receive().take(total).timeout(shortTimeout)) .assertNext(receivedMessage -> { assertMessageEquals(receivedMessage, messageId, isSessionEnabled); messagesPending.decrementAndGet(); }) .assertNext(receivedMessage -> { assertMessageEquals(receivedMessage, messageId, isSessionEnabled); messagesPending.decrementAndGet(); }) .assertNext(receivedMessage -> { assertMessageEquals(receivedMessage, messageId, isSessionEnabled); messagesPending.decrementAndGet(); }) .verifyComplete(); } else { StepVerifier.create(sender.rollbackTransaction(transaction.get()).delaySubscription(Duration.ofSeconds(1))) .verifyComplete(); StepVerifier.create(receiver.receive().take(total)) .verifyTimeout(shortTimeout); } }
Source:
<code>public Collection<Container> match(ModuleDescriptor moduleDescriptor, ModuleDeploymentProperties deploymentProperties, Iterable<Container> containers) { Assert.notNull(moduleDescriptor, "'moduleDescriptor' cannot be null."); <START> Assert.notNull(deploymentProperties, "'deploymentProperties' cannot be null."); <END> logger.debug("Matching containers for module {}", moduleDescriptor); List<Container> candidates = findAllContainersMatchingCriteria(containers, deploymentProperties.getCriteria()); return distributeForRequestedCount(candidates, deploymentProperties.getCount()); }</code><technical_language>Do need Assert.notNull for containers</technical_language>

Target:
public Collection<Container> match(ModuleDescriptor moduleDescriptor, ModuleDeploymentProperties deploymentProperties, Iterable<Container> containers) { Assert.notNull(moduleDescriptor, "'moduleDescriptor' cannot be null."); Assert.notNull(deploymentProperties, "'deploymentProperties' cannot be null."); Assert.notNull(containers, "'containers' cannot be null."); logger.debug("Matching containers for module {}", moduleDescriptor); List<Container> candidates = findAllContainersMatchingCriteria(containers, deploymentProperties.getCriteria()); return distributeForRequestedCount(candidates, deploymentProperties.getCount()); }
Source:
<code>private void manageProcessDependenciesForIndex(Workpiece workpiece) throws CustomResponseException, IOException { Process process = workpiece.getProcess(); if (workpiece.getIndexAction() == IndexAction.DELETE) { <START> if (process != null) { <END> process.getWorkpieces().remove(workpiece); serviceManager.getProcessService().saveToIndex(process); } } else { if (process != null) { serviceManager.getProcessService().saveToIndex(process); } } }</code><technical_language>A workpiece exists a process. a process workpiece</technical_language>

Target:
private void manageProcessDependenciesForIndex(Workpiece workpiece) throws CustomResponseException, IOException { Process process = workpiece.getProcess(); if (workpiece.getIndexAction() == IndexAction.DELETE) { process.getWorkpieces().remove(workpiece); serviceManager.getProcessService().saveToIndex(process); } else { serviceManager.getProcessService().saveToIndex(process); } }
Source:
<code>public NodeBean load(final File flowFile) throws Exception { <START> checkArgument(flowFile != null); <END> checkArgument(flowFile.exists()); checkArgument(flowFile.getName().endsWith(Constants.FLOW_FILE_SUFFIX)); final NodeBean nodeBean = new Yaml().loadAs(new FileInputStream(flowFile), NodeBean.class); if (nodeBean == null) { throw new ProjectManagerException( "Failed to load flow file " + flowFile.getName() + ". Node bean is null ."); } nodeBean.setName(getFlowName(flowFile)); nodeBean.setType(Constants.FLOW_NODE_TYPE); return nodeBean; }</code><technical_language>another handle: checkArgument(flow != null && flowFile.exists());</technical_language>

Target:
public NodeBean load(final File flowFile) throws Exception { checkArgument(flowFile != null && flowFile.exists()); checkArgument(flowFile.getName().endsWith(Constants.FLOW_FILE_SUFFIX)); final NodeBean nodeBean = new Yaml().loadAs(new FileInputStream(flowFile), NodeBean.class); if (nodeBean == null) { throw new ProjectManagerException( "Failed to load flow file " + flowFile.getName() + ". Node bean is null ."); } nodeBean.setName(getFlowName(flowFile)); nodeBean.setType(Constants.FLOW_NODE_TYPE); return nodeBean; }
Source:
<code>public void variableSubjQuery_Test() throws Exception { addStatements(); final String query = "PREFIX time: <<LINK_1>> \n" + "PREFIX tempo: <tag:rya-rdf.org,2015:temporal#> \n" + "PREFIX geo: <<LINK_2>>" + "PREFIX geof: <<LINK_0>>" + "SELECT * " + "WHERE { " + " ?subj time:atTime ?time . " + " ?subj geo:asWKT ?point . " + " FILTER(geof:sfWithin(?point, \"POLYGON((-3 -2, -3 2, 1 2, 1 -2, -3 -2))\"^^geo:wktLiteral)) " + " FILTER(tempo:equals(?time, \"2015-12-30T12:00:00Z\")) " + "}"; final TupleQueryResult rez = conn.prepareTupleQuery(QueryLanguage.SPARQL, query).evaluate(); final List<BindingSet> results = new ArrayList<>(); while(rez.hasNext()) { final BindingSet bs = rez.next(); results.add(bs); } final MapBindingSet expected1 = new MapBindingSet(); expected1.addBinding("point", VF.createLiteral("POINT (0 0)")); expected1.addBinding("time", VF.createLiteral("2015-12-30T07:00:00-05:00")); final MapBindingSet expected2 = new MapBindingSet(); <START> expected2.addBinding("point", VF.createLiteral("POINT (1 1)")); <END> expected2.addBinding("time", VF.createLiteral("2015-12-30T07:00:00-05:00")); assertEquals(2, results.size()); assertEquals(expected1, results.get(0)); assertEquals(expected2, results.get(1)); }</code><technical_language>a bug: point 1,1 is edge of polygon in select filter. definition of SFWithin, excluded. is GeoMesa does. I discovered while testing accumulo version of this test</technical_language>

Target:
public void variableSubjQuery_Test() throws Exception { final String query = "PREFIX time: <<LINK_1>> \n" + "PREFIX tempo: <tag:rya-rdf.org,2015:temporal#> \n" + "PREFIX geo: <<LINK_2>>" + "PREFIX geof: <<LINK_0>>" + "SELECT * " + "WHERE { " + " ?subj time:atTime ?time . " + " ?subj geo:asWKT ?point . " + " FILTER(geof:sfWithin(?point, \"POLYGON((-3 -2, -3 2, 1 2, 1 -2, -3 -2))\"^^geo:wktLiteral)) " + " FILTER(tempo:equals(?time, \"2015-12-30T12:00:00Z\")) " + "}"; final TupleQueryResult rez = conn.prepareTupleQuery(QueryLanguage.SPARQL, query).evaluate(); final List<BindingSet> results = new ArrayList<>(); while(rez.hasNext()) { final BindingSet bs = rez.next(); results.add(bs); } final MapBindingSet expected1 = new MapBindingSet(); expected1.addBinding("point", VF.createLiteral("POINT (0 0)")); expected1.addBinding("time", VF.createLiteral("2015-12-30T12:00:00Z")); final MapBindingSet expected2 = new MapBindingSet(); expected2.addBinding("point", VF.createLiteral("POINT (1 1)")); expected2.addBinding("time", VF.createLiteral("2015-12-30T12:00:00Z")); assertEquals(2, results.size()); assertEquals(expected1, results.get(0)); assertEquals(expected2, results.get(1)); }
Source:
<code>public String getLoginStatus(@Context HttpServletRequest request, @Context HttpServletResponse resp, @QueryParam("logoutNotification") String logoutNotification) { String callBackUrl; callBackUrl = getCallBackUrl(); <START> if (logoutNotification.equals(OAuthConstants.LOG_OUT_NOTIFICATION)) { <END> setIdTokenHint(null); removeStatusCookie(request, resp); } return "<html><head><script src=\"<LINK_0>\"></script>" + "<script> window.addEventListener ('message', OnMessage, false); " + "function OnMessage (event) {\n" + "if(event.data==(\"none\")){\n" + "parent.postMessage('" + getIdTokenHint() + "', '" + callBackUrl + "');\n" + "}" + "else{\n" + "var salt = event.data.split('.')[1].split(' ')[0];" + " var client_id=event.data.split(' ')[1];" + " var opss='" + getCookie(request) + "';var saltMaker=client_id + event.origin + opss + salt;" + "var stat;" + "console.log(\"Receiving the Polling Message From RP Client:.............\"+saltMaker);\n" + " var ss = CryptoJS.SHA256(saltMaker) + \".\" + salt+\" \"+client_id;" + " console.log (\" session state at th OP side: \"+opss);\n" + " if (event.data == ss) {\n" + " stat = 'unchanged';\n" + " } else {\n" + " stat = 'changed';\n" + " }" + " console.log (\" stat \"+stat);\n" + " if (event.origin.indexOf('" + callBackUrl + "')<0) {\n" + " parent.postMessage(stat, '" + callBackUrl + "');\n" + " }\n" + " else{\n" + " return;\n" + " }" + "}\n" + " }</script></head><body></body></html>"; }</code><technical_language>check equals, constant</technical_language>

Target:
public String getLoginStatus(@Context HttpServletRequest request, @Context HttpServletResponse resp, @QueryParam("logoutNotification") String logoutNotification) { String callBackUrl; callBackUrl = getCallBackUrl(); if (OAuthConstants.LOG_OUT_NOTIFICATION.equals(logoutNotification)) { setIdTokenHint(null); removeStatusCookie(request, resp); } return "<html><head><script src=\"<LINK_0>\"></script>" + "<script> window.addEventListener ('message', OnMessage, false); " + "function OnMessage (event) {\n" + "if(event.data==(\"none\")){\n" + "parent.postMessage('" + getIdTokenHint() + "', '" + callBackUrl + "');\n" + "}" + "else{\n" + "var salt = event.data.split('.')[1].split(' ')[0];" + " var client_id=event.data.split(' ')[1];" + " var opss='" + getCookie(request) + "';var saltMaker=client_id + event.origin + opss + salt;" + "var stat;" + "console.log(\"Receiving the Polling Message From RP Client:.............\"+saltMaker);\n" + " var ss = CryptoJS.SHA256(saltMaker) + \".\" + salt+\" \"+client_id;" + " console.log (\" session state at th OP side: \"+opss);\n" + " if (event.data == ss) {\n" + " stat = 'unchanged';\n" + " } else {\n" + " stat = 'changed';\n" + " }" + " console.log (\" stat \"+stat);\n" + " if (event.origin.indexOf('" + callBackUrl + "')<0) {\n" + " parent.postMessage(stat, '" + callBackUrl + "');\n" + " }\n" + " else{\n" + " return;\n" + " }" + "}\n" + " }</script></head><body></body></html>"; }
Source:
<code>private void persistAllProjectPrefs() { Map<String, Map<String, String>> modelCacheMap = this.modelCache.asMap(); <START> for (String projectName : modelCacheMap.keySet()) { <END> persistPrefs(projectName, modelCacheMap.get(projectName)); } }</code><technical_language>Iterate entrySet instead of key iteration + lookup</technical_language>

Target:
private void persistAllProjectPrefs() { Map<IProject, DefaultPersistentModel> modelCacheMap = this.modelCache.asMap(); for (Entry<IProject, DefaultPersistentModel> entry : modelCacheMap.entrySet()) { persistPrefs(entry.getKey(), entry.getValue()); } }
Source:
<code>private void assertStudentDataMatches(StudentData studentData, StudentAttributes student, boolean isRequestFromInstructor) { <START> assertNull(studentData.getGoogleId()); <END> assertEquals(student.getEmail(), studentData.getEmail()); assertEquals(student.getCourse(), studentData.getCourseId()); assertEquals(student.getName(), studentData.getName()); if (student.getLastName() == null) { String[] name = StringHelper.splitName(student.name); assertEquals(name[1], studentData.getLastName()); } else { assertEquals(student.getLastName(), studentData.getLastName()); } assertEquals(student.getTeam(), studentData.getTeamName()); assertEquals(student.getSection(), studentData.getSectionName()); if (isRequestFromInstructor) { assertEquals(student.getComments(), studentData.getComments()); if (student.isRegistered()) { assertTrue(studentData.getJoinState().equals(JoinState.JOINED)); } else { assertTrue(studentData.getJoinState().equals(JoinState.NOT_JOINED)); } } else { assertNull(studentData.getComments()); assertNull(studentData.getJoinState()); } }</code><technical_language>Need assertNull registration key</technical_language>

Target:
private void assertStudentDataMatches(StudentData studentData, StudentAttributes student, boolean isRequestFromInstructor) { assertNull(studentData.getGoogleId()); assertNull(studentData.getKey()); assertEquals(student.getEmail(), studentData.getEmail()); assertEquals(student.getCourse(), studentData.getCourseId()); assertEquals(student.getName(), studentData.getName()); if (student.getLastName() == null) { String[] name = StringHelper.splitName(student.name); assertEquals(name[1], studentData.getLastName()); } else { assertEquals(student.getLastName(), studentData.getLastName()); } assertEquals(student.getTeam(), studentData.getTeamName()); assertEquals(student.getSection(), studentData.getSectionName()); if (isRequestFromInstructor) { assertEquals(student.getComments(), studentData.getComments()); if (student.isRegistered()) { assertTrue(studentData.getJoinState().equals(JoinState.JOINED)); } else { assertTrue(studentData.getJoinState().equals(JoinState.NOT_JOINED)); } } else { assertNull(studentData.getComments()); assertNull(studentData.getJoinState()); } }
Source:
<code>private static File fileTileMetricsFile(File illuminaRunDirectory, Integer numCycles, boolean isNovaSeq) { Path interOpDir = illuminaRunDirectory.toPath().resolve(INTEROP_SUBDIRECTORY_NAME); final List<Path> pathsToTest = new ArrayList<>(); pathsToTest.add(interOpDir.resolve(TILE_METRICS_OUT_FILE_NAME)); if (isNovaSeq) { <START> pathsToTest.addAll(IntStream.range(1, numCycles + 1).map(i -> 1 + (numCycles - i)).mapToObj( <END> cycleNum -> interOpDir.resolve(String.format("C%d.1/%s", cycleNum, TILE_METRICS_OUT_FILE_NAME))) .collect(Collectors.toList())); } return pathsToTest.stream().filter(path -> Files.exists(path)).findFirst().orElseThrow(() -> { StringBuilder message = new StringBuilder( String.format("No %s file found in %s", INTEROP_SUBDIRECTORY_NAME, interOpDir)); if (isNovaSeq) { message.append(" or any of its cycle directories."); } return new IllegalStateException(message.toString()); }).toFile(); }</code><technical_language>I a for loop clearer (much pains me)</technical_language>

Target:
private static File fileTileMetricsFile(File illuminaRunDirectory, Integer numCycles, boolean isNovaSeq) { Path interOpDir = illuminaRunDirectory.toPath().resolve(INTEROP_SUBDIRECTORY_NAME); final List<Path> pathsToTest = new ArrayList<>(); pathsToTest.add(interOpDir.resolve(TILE_METRICS_OUT_FILE_NAME)); if (isNovaSeq) { for (int i = numCycles; i > 0; i--) { pathsToTest.add(interOpDir.resolve(String.format("C%d.1/%s", i, TILE_METRICS_OUT_FILE_NAME))); } } return pathsToTest.stream().filter(Files::exists).findFirst().orElseThrow(() -> { StringBuilder message = new StringBuilder( String.format("No %s file found in %s", INTEROP_SUBDIRECTORY_NAME, interOpDir)); if (isNovaSeq) { message.append(" or any of its cycle directories."); } return new IllegalStateException(message.toString()); }).toFile(); }
Source:
<code>protected void notify(List<URL> urls) { if (urls == null || urls.isEmpty()) { return; } for (Map.Entry<URL, Set<NotifyListener>> entry : getSubscribed().entrySet()) { URL url = entry.getKey(); if (!UrlUtils.isMatch(url, urls.get(0))) { continue; } Set<NotifyListener> listeners = entry.getValue(); <START> if (listeners != null && !listeners.isEmpty()) { <END> for (NotifyListener listener : listeners) { try { notify(url, listener, filterEmpty(url, urls)); } catch (Throwable t) { logger.error("Failed to notify registry event, urls: " + urls + ", cause: " + t.getMessage(), t); } } } } }</code><technical_language>I !listeners.isEmpty() extra, for loop skiped if empty. relax this extra check. do say</technical_language>

Target:
protected void notify(List<URL> urls) { if (urls == null || urls.isEmpty()) { return; } for (Map.Entry<URL, Set<NotifyListener>> entry : getSubscribed().entrySet()) { URL url = entry.getKey(); if (!UrlUtils.isMatch(url, urls.get(0))) { continue; } Set<NotifyListener> listeners = entry.getValue(); if (listeners != null) { for (NotifyListener listener : listeners) { try { notify(url, listener, filterEmpty(url, urls)); } catch (Throwable t) { logger.error("Failed to notify registry event, urls: " + urls + ", cause: " + t.getMessage(), t); } } } } }
Source:
<code>public void setLeftButton(String text, Runnable action) { <START> find("leftButton", UIButton.class).setText(text); <END> leftActon = action; }</code><technical_language>some null checks other places, in case wrong finding UI element</technical_language>

Target:
public void setLeftButton(String text, Runnable action) { UIButton leftButton = find("leftButton", UIButton.class); if (leftButton != null) { leftButton.setText(text); } leftActon = action; }
Source:
<code>public List<ChePlugin> execute() throws InfrastructureException { Span tracingSpan = startTracingPhase(); volumesStrategy.prepare( brokerEnvironment, workspaceId, startSynchronizer.getStartTimeoutMillis()); <START> finishSpanIfExists(tracingSpan); <END> return nextPhase.execute(); }</code><technical_language>If a case of exception bypassed. move finally section</technical_language>

Target:
public List<ChePlugin> execute() throws InfrastructureException { Span tracingSpan = tracerUtil.buildSpan(SPAN_NAME, null, workspaceId, null); try { volumesStrategy.prepare( brokerEnvironment, workspaceId, startSynchronizer.getStartTimeoutMillis()); } catch (InfrastructureException e) { tracerUtil.finishSpanAsFailure(tracingSpan, e.getMessage()); throw e; } tracerUtil.finishSpan(tracingSpan); return nextPhase.execute(); }
Source:
<code>public void joseEncoded() throws IOException { final byte[] code = new Token.Jose(256).encoded(); final JsonObject jose = new Token.Jose(256).json(); MatcherAssert.assertThat( code, Matchers.equalTo( <START> Base64.getEncoder().encode(jose.toString().getBytes()) <END> ) ); }</code><technical_language>@paulodamaso I test actual contstant string instead of dynamic function result, in handle cases function implementation is for some jdk implementations, e.g. return null in jdk for invalid input throws exception in another</technical_language>

Target:
public void joseEncoded() throws IOException { final byte[] code = new Token.Jose(256).encoded(); MatcherAssert.assertThat( code, new IsEqual<>( Base64.getEncoder().encode( "{\"alg\":\"HS256\",\"typ\":\"JWT\"}".getBytes() ) ) ); }
Source:
<code>protected ICommand getCreateRelationshipCommand(final CreateRelationshipRequest req) { EObject source = req.getSource(); EObject target = req.getTarget(); if (false == source instanceof Vertex) { return UnexecutableCommand.INSTANCE; } if (target == null) { return IdentityCommand.INSTANCE; } if (false == target instanceof Vertex) { return UnexecutableCommand.INSTANCE; } Region container = findRegionContainer((Vertex) source); if (container == null) { <START> container = findRegionContainer((Vertex) target); <END> if (null == container) { return UnexecutableCommand.INSTANCE; } } setContainerAndFeature(req, container); return super.getCreateRelationshipCommand(req); }</code><technical_language>do do if source target is in a region (entry point --> pseudoState). In region do create Transition</technical_language>

Target:
protected ICommand getCreateRelationshipCommand(final CreateRelationshipRequest req) { EObject source = req.getSource(); EObject target = req.getTarget(); if (false == source instanceof Vertex) { return UnexecutableCommand.INSTANCE; } if (null == target) { return IdentityCommand.INSTANCE; } if (false == target instanceof Vertex) { return UnexecutableCommand.INSTANCE; } Region container = findRegionContainer((Vertex) source); if (null == container) { container = findRegionContainer((Vertex) target); if (null == container) { container = getFirstRegionStateMachine((Vertex) source); if (null == container) { return UnexecutableCommand.INSTANCE; } } } setContainerAndFeature(req, container); return super.getCreateRelationshipCommand(req); }
Source:
<code>public static void initialize() throws APIManagerDatabaseException { if (artifactSynchronizerDataSource != null) { return; } <START> synchronized (APIMgtDBUtil.class) { <END> if (artifactSynchronizerDataSource == null) { if (log.isDebugEnabled()) { log.debug("Initializing data source"); } GatewayArtifactSynchronizerProperties gatewayArtifactSynchronizerProperties = ServiceReferenceHolder.getInstance().getAPIManagerConfigurationService() .getAPIManagerConfiguration().getGatewayArtifactSynchronizerProperties(); String artifactSynchronizerDataSourceName = gatewayArtifactSynchronizerProperties.getArtifactSynchronizerDataSource(); if (artifactSynchronizerDataSourceName != null) { try { Context ctx = new InitialContext(); artifactSynchronizerDataSource = (DataSource) ctx.lookup(artifactSynchronizerDataSourceName); } catch (NamingException e) { throw new APIManagerDatabaseException("Error while looking up the data " + "source: " + artifactSynchronizerDataSourceName, e); } } else { log.error("AS" + artifactSynchronizerDataSourceName + " not defined in api-manager.xml."); } } } }</code><technical_language>APIMgtDBUtil ->GatewayArtifactsMgtDBUtil</technical_language>

Target:
public static void initialize() throws APIManagerDatabaseException { if (artifactSynchronizerDataSource != null) { return; } initDatasource(); }
Source:
<code>public void visit(Comparison obj) { <START> if(this.table.getProperty(ParquetMetadataProcessor.PARTITIONING_SCHEME) == null){ <END> } else { if (this.table.getProperty(ParquetMetadataProcessor.PARTITIONING_SCHEME).equals("directory")) { directoryBasedPartitioning(obj); } else { } } }</code><technical_language>remove this consideration inline directoryBasedPartitioning method - simply build column / map, handle visitor run</technical_language>

Target:
public void visit(Comparison obj) { ColumnReference cr = (ColumnReference) obj.getLeftExpression(); Column column = cr.getMetadataObject(); String columnName = column.getSourceName(); columnPredicates.put(columnName, obj); }
Source:
<code>public static boolean isVisible(MCoreExpression exp, final ExpressionContext eContext) { final Expression ref; if (exp.getCoreExpression() instanceof Expression) { ref = (Expression) exp.getCoreExpression(); } else { ref = new ReferenceExpression(exp.getCoreExpressionId()); exp.setCoreExpression(ref); } ExpressionInfo info = ref.computeExpressionInfo(); String[] names = info.getAccessedPropertyNames(); for (String name : names) { eContext.getVariable(name + ".evaluationServiceLink"); } final boolean[] ret = new boolean[1]; ret[0] = false; try { ret[0] = ref.evaluate(eContext) != EvaluationResult.FALSE; <START> } catch (CoreException e) { <END> trace("isVisible exception", e); } return ret[0]; }</code><technical_language>This allow <LINK_0> surface again. catch Exception add a catch(Exception e)</technical_language>

Target:
public static boolean isVisible(MCoreExpression exp, final ExpressionContext eContext) { final Expression ref; if (exp.getCoreExpression() instanceof Expression) { ref = (Expression) exp.getCoreExpression(); } else { ref = new ReferenceExpression(exp.getCoreExpressionId()); exp.setCoreExpression(ref); } ExpressionInfo info = ref.computeExpressionInfo(); String[] names = info.getAccessedPropertyNames(); for (String name : names) { eContext.getVariable(name + ".evaluationServiceLink"); } final boolean[] ret = new boolean[1]; ret[0] = false; try { ret[0] = ref.evaluate(eContext) != EvaluationResult.FALSE; } catch (Exception e) { trace("isVisible exception", e); } return ret[0]; }
Source:
<code>public static Geocache searchByGeoCode(final String geocode) { final Parameters params = new Parameters("id", cleanCode(geocode)); params.add("cgeo", "1"); <START> final HttpResponse response = apiRequest("<LINK_0>", params); <END> final Collection<Geocache> caches = importCachesFromGPXResponse(response); if (CollectionUtils.isNotEmpty(caches)) { return caches.iterator().next(); } return null; }</code><technical_language>remove host part URLs, add in apiRequest method for easier maintenance readability</technical_language>

Target:
public static Geocache searchByGeoCode(final String geocode) { final Parameters params = new Parameters("id", cleanCode(geocode), "cgeo", "1"); final HttpResponse response = apiRequest("gpx.php", params); final Collection<Geocache> caches = importCachesFromGPXResponse(response); if (CollectionUtils.isNotEmpty(caches)) { return caches.iterator().next(); } return null; }
Source:
<code>private void initializeTest() { IDialogTestPass test = _dialogTests[TEST_TYPE]; setTitle(test.title()); setMessage(test.description()); Iterator<?> iterator = test.checkListTexts().iterator(); <START> for (int i = 0; i < _checkList.length; i++) { <END> if (iterator.hasNext()) { _checkList[i].setText(iterator.next().toString()); _checkList[i].setVisible(true); _checkList[i].update(); } else { _checkList[i].setVisible(false); _checkList[i].update(); } _checkList[i].setSelection(true); } _queryLabel.setText(test.queryText()); }</code><technical_language>write: for(Button checkListBtn : _checkList){ if (iterator.hasNext()) { checkListBtn.setText(iterator.next().toString()); checkListBtn.setVisible(true); checkListBtn.update(); } else { checkListBtn.setVisible(false); checkListBtn.update(); } _checkList[i].setSelection(true); }</technical_language>

Target:
private void initializeTest() { IDialogTestPass test = _dialogTests[TEST_TYPE]; setTitle(test.title()); setMessage(test.description()); Iterator<?> iterator = test.checkListTexts().iterator(); for (Button checkButton : _checkList) { if (iterator.hasNext()) { checkButton.setText(iterator.next().toString()); checkButton.setVisible(true); checkButton.update(); } else { checkButton.setVisible(false); checkButton.update(); } checkButton.setSelection(true); } _queryLabel.setText(test.queryText()); }
Source:
<code>public void testMigration() { assertEquals(1, session.getOwnedViews().size()); DView dView = session.getOwnedViews().iterator().next(); assertEquals(1, dView.getOwnedRepresentations().size()); DRepresentation dRepresentation = dView.getOwnedRepresentations().get(0); assertTrue(dRepresentation instanceof DDiagram); DDiagram dDiagram = (DDiagram) dRepresentation; ComputedStyleDescriptionRegistry computedStyleDescriptionRegistry = new DDiagramInternalQuery(dDiagram).getComputedStyleDescriptionRegistry(false); assertNotNull(computedStyleDescriptionRegistry); assertEquals("Computed StyleDescriptiosshould have been shared among styles within the DDiagram", 3, computedStyleDescriptionRegistry.getComputedStyleDescriptions().size()); assertEquals("As the maps of ComputedStyleDescriptionRegistry are no more used, it should remains only the 3 computed StyleDescriptions", 3, computedStyleDescriptionRegistry.eContents() <START> .size()); <END> }</code><technical_language>Esteban test resource cache in unknown elements (getEObjectToExtensionMap)</technical_language>

Target:
public void testMigration() { assertEquals(1, session.getOwnedViews().size()); DView dView = session.getOwnedViews().iterator().next(); assertEquals(1, dView.getOwnedRepresentations().size()); DRepresentation dRepresentation = dView.getOwnedRepresentations().get(0); assertTrue(dRepresentation instanceof DDiagram); DDiagram dDiagram = (DDiagram) dRepresentation; ComputedStyleDescriptionRegistry computedStyleDescriptionRegistry = new DDiagramInternalQuery(dDiagram).getComputedStyleDescriptionRegistry(false); assertNotNull(computedStyleDescriptionRegistry); assertEquals("Computed StyleDescriptiosshould have been shared among styles within the DDiagram", 3, computedStyleDescriptionRegistry.getComputedStyleDescriptions().size()); assertEquals("As the maps of ComputedStyleDescriptionRegistry are no more used, it should remains only the 3 computed StyleDescriptions", 3, computedStyleDescriptionRegistry.eContents() .size()); XMLResource airdResource = (XMLResource) session.getSessionResource(); assertEquals("As the migration has done its job, the map of unknown data should be empty", 0, airdResource.getEObjectToExtensionMap().size()); }
Source:
<code>public static void setVisibility (boolean visible, Context context) { try { MainApplication.visible = visible; ServerApi.setVisibility(context, visible); if (visible == false) { LocationService.stop(context); } else { LocationService.start(context); } <START> } catch (Exception ex) { <END> Log.e(TAG, "Could not set visibility:" + ex.getMessage()); } }</code><technical_language>catch specific exception try block is throwing catching exceptions</technical_language>

Target:
public static void setVisibility (boolean visible, Context context) { try { MainApplication.visible = visible; ServerApi.setVisibility(context, visible); if (visible == false) { LocationService.stop(context); } else { LocationService.start(context); } } catch (JSONException ex) { Log.e(TAG, "Could not set visibility:" + ex.getMessage()); } }
Source:
<code>public ProfileProxyAuthenticator(ProxyConfig proxyConfig) throws MalformedChallengeException { this.proxyConfig = proxyConfig; basicScheme = new BasicScheme(); <START> basicScheme.processChallenge(new BasicHeader(AUTH.PROXY_AUTH, "BASIC realm=\"proxy\"")); <END> }</code><technical_language>add this a constant</technical_language>

Target:
public ProfileProxyAuthenticator(ProxyConfig proxyConfig) throws MalformedChallengeException { this.proxyConfig = proxyConfig; basicScheme = new BasicScheme(); basicScheme.processChallenge(new BasicHeader(AUTH.PROXY_AUTH, PassThroughConstants.PROXY_BASIC_REALM)); }
Source:
<code>public static void savePeople(List<Person> peopleList) { <START> for (Person person : peopleList) { <END> PeopleTable.save(person); } }</code><technical_language>I feel strange this loop wrapped a transaction. a single transaction, list of Persons end "corrupted" in sense some persons get saved while others not. I PeopleTable.save monitor insert command for errors should. 100% yet. discuss this a bit</technical_language>

Target:
public static void savePeople(List<Person> peopleList) { getWritableDb().beginTransaction(); try { for (Person person : peopleList) { PeopleTable.save(person); } getWritableDb().setTransactionSuccessful(); } finally { getWritableDb().endTransaction(); } }
Source:
<code>private static void registerEventualTransactionsSchemaVersionMetric(MetricsManager metricsManager, CoordinationService<InternalSchemaMetadata> metadataCoordinationService) { metricsManager.registerMetric( MetadataCoordinationServiceMetrics.class, EVENTUAL_TRANSACTIONS_SCHEMA_VERSION, <START> new CachedGauge<Integer>(Clock.defaultClock(), DEFAULT_CACHE_TTL, TimeUnit.SECONDS) { <END> @Override protected Integer loadValue() { try { Optional<ValueAndBound<InternalSchemaMetadata>> latestValue = metadataCoordinationService.getLastKnownLocalValue(); return latestValue .map(ValueAndBound::value) .flatMap(Function.identity()) .map(InternalSchemaMetadata::timestampToTransactionsTableSchemaVersion) .map(timestampMap -> timestampMap.getValueForTimestamp(latestValue.get().bound())) .orElse(null); } catch (Exception e) { log.info("An exception occurred when trying to retrieve the metric.", SafeArg.of("gaugeName", EVENTUAL_TRANSACTIONS_SCHEMA_VERSION), e); return null; } } } ); }</code><technical_language>fix above, end pattern, extend CachedGauge<T> a Supplier<T> catching exception instead of anonymous class</technical_language>

Target:
private static void registerEventualTransactionsSchemaVersionMetric(MetricsManager metricsManager, CoordinationService<InternalSchemaMetadata> metadataCoordinationService) { metricsManager.registerMetric( MetadataCoordinationServiceMetrics.class, AtlasDbMetricNames.COORDINATION_EVENTUAL_TRANSACTIONS_SCHEMA_VERSION, TrackerUtils.createCachingExceptionHandlingGauge( log, Clock.defaultClock(), AtlasDbMetricNames.COORDINATION_EVENTUAL_TRANSACTIONS_SCHEMA_VERSION, () -> { Optional<ValueAndBound<InternalSchemaMetadata>> latestValue = metadataCoordinationService.getLastKnownLocalValue(); return latestValue .map(ValueAndBound::value) .flatMap(Function.identity()) .map(InternalSchemaMetadata::timestampToTransactionsTableSchemaVersion) .map(timestampMap -> timestampMap.getValueForTimestamp(latestValue.get().bound())) .orElse(null); })); }
Source:
<code>private DbUser getTargetDbUser() { DbUser dbUser = new DbUser(); dbUser.setLoginName(getSearchString()); <START> dbUser.setDomain(getProfile().getSelectedItem().toString()); <END> return dbUser; }</code><technical_language>DbUser modified hold entire String, refer authz part</technical_language>

Target:
private DbUser getTargetDbUser() { DbUser dbUser = new DbUser(); dbUser.setLoginName(getSearchString()); dbUser.setDomain(((ProfileEntry) getProfile().getSelectedItem()).getAuthz()); return dbUser; }
Source:
<code>public PartitioningScheme translateOutputLayout(List<VariableReferenceExpression> newOutputLayout) { requireNonNull(newOutputLayout, "newOutputLayout is null"); checkArgument(newOutputLayout.size() == outputLayout.size()); <START> Partitioning newPartitioning = partitioning.translate(variable -> newOutputLayout.get(outputLayout.indexOf((VariableReferenceExpression) variable))); <END> Optional<VariableReferenceExpression> newHashSymbol = hashColumn .map(outputLayout::indexOf) .map(newOutputLayout::get); return new PartitioningScheme(newPartitioning, newOutputLayout, newHashSymbol, replicateNullsAndAny, bucketToPartition); }</code><technical_language>add assertion PartitioningScheme constructor Partitioning passed include "non-variable" partitioning arguments</technical_language>

Target:
public PartitioningScheme translateOutputLayout(List<VariableReferenceExpression> newOutputLayout) { requireNonNull(newOutputLayout, "newOutputLayout is null"); checkArgument(newOutputLayout.size() == outputLayout.size()); Partitioning newPartitioning = partitioning.translateVariable(variable -> newOutputLayout.get(outputLayout.indexOf(variable))); Optional<VariableReferenceExpression> newHashSymbol = hashColumn .map(outputLayout::indexOf) .map(newOutputLayout::get); return new PartitioningScheme(newPartitioning, newOutputLayout, newHashSymbol, replicateNullsAndAny, bucketToPartition); }
Source:
<code>public BAMIndex getIndex() { if(!hasIndex()) throw new SAMException("No index is available for this BAM file."); if(mIndex == null) { <START> if (mIndexFile != null) { <END> if (getIndexType().equals(SamIndexes.BAI)) { mIndex = mEnableIndexCaching ? new CachingBAMFileIndex(mIndexFile, getFileHeader().getSequenceDictionary(), mEnableIndexMemoryMapping) : new DiskBasedBAMFileIndex(mIndexFile, getFileHeader().getSequenceDictionary(), mEnableIndexMemoryMapping); } else if (getIndexType().equals(SamIndexes.CSI)) { mIndex = new CSIIndex(mIndexFile, mEnableIndexMemoryMapping, getFileHeader().getSequenceDictionary()); } } else { mIndex = mEnableIndexCaching ? new CachingBAMFileIndex(mIndexStream, getFileHeader().getSequenceDictionary()) : new DiskBasedBAMFileIndex(mIndexStream, getFileHeader().getSequenceDictionary()); } } return mIndex; }</code><technical_language>edge case getIndexType returns null this method incorrectly returns null. throw instead</technical_language>

Target:
public BAMIndex getIndex() { if(!hasIndex()) throw new SAMException("No index is available for this BAM file."); if(mIndex == null) { SamIndexes samIndex = getIndexType(); if (samIndex == null) { mIndex = mEnableIndexCaching ? new CachingBAMFileIndex(mIndexStream, getFileHeader().getSequenceDictionary()) : new DiskBasedBAMFileIndex(mIndexStream, getFileHeader().getSequenceDictionary()); } else if (samIndex.equals(SamIndexes.BAI)) { mIndex = mEnableIndexCaching ? new CachingBAMFileIndex(mIndexFile, getFileHeader().getSequenceDictionary(), mEnableIndexMemoryMapping) : new DiskBasedBAMFileIndex(mIndexFile, getFileHeader().getSequenceDictionary(), mEnableIndexMemoryMapping); } else if (samIndex.equals(SamIndexes.CSI)) { mIndex = new CSIIndex(mIndexFile, mEnableIndexMemoryMapping, getFileHeader().getSequenceDictionary()); } else { throw new SAMFormatException("Unsupported BAM index file: " + mIndexFile.getName()); } } return mIndex; }
Source:
<code><START> static String[] parseRequireBundleValue(String value, List<String> bundlesToExclude) { <END> return Arrays.stream(value.split(",")) .map( (it) -> { return it.split(";")[0]; }) .filter( (it) -> { return !bundlesToExclude.contains(it); }) .toArray(String[]::new); }</code><technical_language>private IntelliJ code inspection</technical_language>

Target:
private static String[] parseRequireBundleValue(String value, List<String> bundlesToExclude) { return Arrays.stream(value.split(",")) .map(it -> it.split(";")[0]) .filter(it -> !bundlesToExclude.contains(it)) .toArray(String[]::new); }
Source:
<code>public void setProjectionParameters(Map projectionParameters) { <START> if (projectionParameters.containsKey("advancedProjectionDensify")) { <END> densify = (Double) projectionParameters.get("advancedProjectionDensify"); } this.projectionParameters = projectionParameters; }</code><technical_language>a public constant instead of a "magic string"</technical_language>

Target:
public void setProjectionParameters(Map projectionParameters) { if (projectionParameters.containsKey(ADVANCED_PROJECTION_DENSIFY)) { densify = (Double) projectionParameters.get(ADVANCED_PROJECTION_DENSIFY); } this.projectionParameters = projectionParameters; }
Source:
<code>public void setupMocks() { elide = mock(Elide.class); asyncQueryDao = mock(DefaultAsyncQueryDAO.class); ElideSettings elideSettings = mock(ElideSettings.class); EntityDictionary dictionary = mock(EntityDictionary.class); JsonApiMapper mapper = mock(JsonApiMapper.class); ObjectMapper objectMapper = mock(ObjectMapper.class); Set<Class<?>> boundclasses = new HashSet<Class<?>>(); boundclasses.add(AsyncQuery.class); boundclasses.add(AsyncQueryResult.class); Set<String> apiCollection = new HashSet<String>(); apiCollection.add("v1"); when(elide.getElideSettings()).thenReturn(elideSettings); <START> when(elideSettings.getDictionary()).thenReturn(dictionary); <END> when(dictionary.getBoundClassesByVersion("v1")).thenReturn(boundclasses); when(dictionary.getApiVersions()).thenReturn(apiCollection); when(elideSettings.getMapper()).thenReturn(mapper); when(mapper.getObjectMapper()).thenReturn(objectMapper); AsyncExecutorService.init(elide, 5, 60, asyncQueryDao); service = AsyncExecutorService.getInstance(); }</code><technical_language>Normally, mock dictionary elide settings. Is a reason create a dictionary it</technical_language>

Target:
public void setupMocks() { HashMapDataStore inMemoryStore = new HashMapDataStore(AsyncQuery.class.getPackage()); Map<String, Class<? extends Check>> checkMappings = new HashMap<>(); elide = new Elide( new ElideSettingsBuilder(inMemoryStore) .withEntityDictionary(new EntityDictionary(checkMappings)) .build()); asyncQueryDao = mock(DefaultAsyncQueryDAO.class); AsyncExecutorService.init(elide, 5, 60, asyncQueryDao); service = AsyncExecutorService.getInstance(); }
Source:
<code>protected void run(Server server, User user, String commandLabel, String[] args) throws Exception { CommandSource sender = user.getSource(); if (args.length > 0 && user.isAuthorized("essentials.back.others")) { <START> this.parseCommand(server, sender, args); <END> return; } teleportBack(sender, user); }</code><technical_language>suggestion this.parseOthers(server, sender, args); Fixes compile</technical_language>

Target:
protected void run(Server server, User user, String commandLabel, String[] args) throws Exception { CommandSource sender = user.getSource(); if (args.length > 0 && user.isAuthorized("essentials.back.others")) { parseOthers(server, sender, args, commandLabel); return; } teleportBack(sender, user, commandLabel); }