auphong2707/dl4se-code-review-dataset huggingface dataset:
Source:
<code><START> public void onMenuSelected(MenuItem item) { <END> int itemId = item.getItemId(); String itemTitle = item.getTitle().toString(); if (Arrays.asList(filterTitleResources).contains(itemTitle)) { handleFilterRequest(sortingKeys[itemId], filterTitleResources[itemId]); } else if (itemId == 0) { handleSortingRequest(SortMode.ALL, R.string.label_sort_all); } else if (itemId == 1) { handleSortingRequest(SortMode.PROGRESS, R.string.label_sort_progress); } else { Log.d(AwardGridFragment.class.getSimpleName(), "Unknown MenuItem " + item.getTitle()); } }</code><technical_language>do declare itemIds for menu alternatives? A bit error prone magic numbers</technical_language>

Target:
public void onMenuSelected(MenuItem item) { int itemId = item.getItemId(); String itemTitle = item.getTitle().toString(); if (Arrays.asList(filterTitleResources).contains(itemTitle)) { handleFilterRequest(sortingKeys[itemId], filterTitleResources[itemId]); } else if (itemTitle.equals(sortTitleResources[0])) { handleSortingRequest(SortMode.ALL, sortTitleResources[0]); } else if (itemTitle.equals(sortTitleResources[1])) { handleSortingRequest(SortMode.PROGRESS, sortTitleResources[1]); } else { Log.d(AwardGridFragment.class.getSimpleName(), "Unknown MenuItem " + item.getTitle()); } }
Source:
<code>public void beginRecognizeCustomFormsWithOptions() throws IOException { File form = new File("{local/file_path/fileName.jpg}"); String modelId = "{custom_trained_model_id}"; boolean includeTextContent = true; byte[] fileContent = Files.readAllBytes(form.toPath()); InputStream targetStream = new ByteArrayInputStream(fileContent); formRecognizerClient.beginRecognizeCustomForms(new RecognizeCustomFormsOptions(targetStream, form.length(), modelId).setFormContentType(FormContentType.IMAGE_JPEG) <START> .setIncludeFieldElements(includeTextContent).setPollInterval(Duration.ofSeconds(5))).getFinalResult() <END> .forEach(recognizedForm -> recognizedForm.getFields().entrySet().forEach(entry -> { String fieldText = entry.getKey(); FormField fieldValue = entry.getValue(); System.out.printf("Field text: %s%n", fieldText); System.out.printf("Field value: %s%n", fieldValue.getFieldValue()); System.out.printf("Confidence score: %.2f%n", fieldValue.getConfidence()); })); END: com.azure.ai.formrecognizer.FormRecognizerClient.beginRecognizeCustomForms#recognizeCustomFormsOptions }</code><technical_language>nit: need consider local var includeTextContent 'includeFieldElements' for renaming well</technical_language>

Target:
public void beginRecognizeCustomFormsWithOptions() throws IOException { File form = new File("{local/file_path/fileName.jpg}"); String modelId = "{custom_trained_model_id}"; boolean includeFieldElements = true; byte[] fileContent = Files.readAllBytes(form.toPath()); InputStream targetStream = new ByteArrayInputStream(fileContent); formRecognizerClient.beginRecognizeCustomForms(new RecognizeCustomFormsOptions(targetStream, form.length(), modelId).setFormContentType(FormContentType.IMAGE_JPEG) .setIncludeFieldElements(includeFieldElements).setPollInterval(Duration.ofSeconds(5))).getFinalResult() .forEach(recognizedForm -> recognizedForm.getFields().entrySet().forEach(entry -> { String fieldText = entry.getKey(); FormField fieldValue = entry.getValue(); System.out.printf("Field text: %s%n", fieldText); System.out.printf("Field value: %s%n", fieldValue.getFieldValue()); System.out.printf("Confidence score: %.2f%n", fieldValue.getConfidence()); })); END: com.azure.ai.formrecognizer.FormRecognizerClient.beginRecognizeCustomForms#recognizeCustomFormsOptions }
Source:
<code>private static KeyPair parseOpenSSHKeys(ByteIterator byteIterator, FilePasswordProvider passphraseProvider) throws IllegalArgumentException { OpenSSHKeyPairResourceParser resourceParser = new OpenSSHKeyPairResourceParser(); byte[] stream = byteIterator.drain(); try { return resourceParser.extractKeyPairs(null, null, OpenSSHKeyPairResourceParser.BEGIN_MARKER, OpenSSHKeyPairResourceParser.END_MARKER, passphraseProvider, stream, null).iterator().next(); } catch (IOException e) { <START> log.openSshParseError(e.getMessage()); <END> } catch (GeneralSecurityException e) { log.openSshGeneratingError(e.getMessage()); } return null; }</code><technical_language>throw log..</technical_language>

Target:
private static KeyPair parseOpenSSHKeys(ByteIterator byteIterator, FilePasswordProvider passphraseProvider) throws IllegalArgumentException { OpenSSHKeyPairResourceParser resourceParser = new OpenSSHKeyPairResourceParser(); byte[] stream = byteIterator.drain(); try { return resourceParser.extractKeyPairs(null, null, OpenSSHKeyPairResourceParser.BEGIN_MARKER, OpenSSHKeyPairResourceParser.END_MARKER, passphraseProvider, stream, null).iterator().next(); } catch (IOException e) { throw log.openSshParseError(e.getMessage()); } catch (GeneralSecurityException e) { throw log.openSshGeneratingError(e.getMessage()); } }
Source:
<code>public void testSimpleBlobPutSuccess() throws Exception { requestAndResultsList.clear(); requestAndResultsList.add(new RequestAndResult(chunkSize)); submitPutsAndAssertSuccess(true); <START> for (int i = 0; i < 1; i++) { <END> requestAndResultsList.clear(); requestAndResultsList.add(new RequestAndResult(random.nextInt(chunkSize) + 1)); submitPutsAndAssertSuccess(true); } }</code><technical_language>is this a debugging change reverted</technical_language>

Target:
public void testSimpleBlobPutSuccess() throws Exception { requestAndResultsList.clear(); requestAndResultsList.add(new RequestAndResult(chunkSize)); submitPutsAndAssertSuccess(true); for (int i = 0; i < 10; i++) { requestAndResultsList.clear(); requestAndResultsList.add(new RequestAndResult(random.nextInt(chunkSize) + 1)); submitPutsAndAssertSuccess(true); } }
Source:
<code>public Account modify( @Scope({OAuthScope.USER_EXTENDED}) final AccessToken accessToken, @Valid final Account account) { LOGGER.warn("Last modified (modify) = {}", account.lastModified); final Optional<Account> optionalAccount = accountDAO.update(account, accessToken.accountId); if(!optionalAccount.isPresent()) { LOGGER.warn("Last modified condition did not match data from DB for account_id= {}, diff last_modified (got {})", accessToken.accountId, account.lastModified); final JsonError error = new JsonError(Response.Status.PRECONDITION_FAILED.getStatusCode(), "pre condition failed"); throw new WebApplicationException(Response.status(Response.Status.PRECONDITION_FAILED) .entity(error).build()); } if (account.hasLocation()) { try { final String ip = getIpAddress(request); <START> LOGGER.debug("Insert new account location for account: {}, lat: {}, long: {}, IP: {}", accessToken.accountId, account.latitude, account.longitude, ip); <END> accountLocationDAO.insertNewAccountLatLongIP(accessToken.accountId, ip, account.latitude, account.longitude); } catch (UnableToExecuteStatementException exception) { LOGGER.error("Unable to insert new account location for account: {}", accessToken.accountId); } } return optionalAccount.get(); }</code><technical_language>New practice: logs key=value formatted. in case like: action=save-account-location lat=32164654 long=999999 ip_address=127.0.0.1 account_id=1310</technical_language>

Target:
public Account modify( @Scope({OAuthScope.USER_EXTENDED}) final AccessToken accessToken, @Valid final Account account) { LOGGER.warn("level=warning action=modify-account account_id={} last_modified={}", accessToken.accountId, account.lastModified); final Optional<Account> optionalAccount = accountDAO.update(account, accessToken.accountId); if(!optionalAccount.isPresent()) { LOGGER.warn("level=warning error_message=last-modified-condition-did-not-match-DB-data account_id={} last_modified={}", accessToken.accountId, account.lastModified); final JsonError error = new JsonError(Response.Status.PRECONDITION_FAILED.getStatusCode(), "pre condition failed"); throw new WebApplicationException(Response.status(Response.Status.PRECONDITION_FAILED) .entity(error).build()); } if (account.hasLocation()) { final String ip = BaseResource.getIpAddress(request); try { LOGGER.debug("level=debug action=insert-account-location account_id={} latitude={} longitude={} ip={}", accessToken.accountId, account.latitude, account.longitude, ip); accountLocationDAO.insertNewAccountLatLongIP(accessToken.accountId, ip, account.latitude, account.longitude); } catch (UnableToExecuteStatementException exception) { LOGGER.error("level=error error_message=fail-to-insert-account-location account_id={} latitude={} longitude={} ip={}", accessToken.accountId, account.latitude, account.longitude, ip); } } return optionalAccount.get(); }
Source:
<code>private void registerListeners(Cache<K, V> cache, ServiceProvider serviceLocator, List<LifeCycled> lifeCycledList) { if (!eventListenerConfigurations.isEmpty()) { final CacheEventListenerProvider listenerProvider = serviceLocator.getService(CacheEventListenerProvider.class); if (listenerProvider == null) { <START> throw new IllegalStateException("No CacheEventListenerProvider could be found - did you configure one?"); <END> } for (CacheEventListenerConfiguration config : eventListenerConfigurations) { final CacheEventListener<K, V> listener = listenerProvider.createEventListener(id, config); if (listener != null) { cache.getRuntimeConfiguration().registerCacheEventListener(listener, config.orderingMode(), config.firingMode(), config.fireOn()); lifeCycledList.add(new LifeCycled() { @Override public void init() throws Exception { } @Override public void close() throws Exception { listenerProvider.releaseEventListener(listener); } }); } } } eventNotifier.setListenerSource(cache); }</code><technical_language>get here</technical_language>

Target:
private void registerListeners(Cache<K, V> cache, ServiceProvider serviceLocator, List<LifeCycled> lifeCycledList) { if (!eventListenerConfigurations.isEmpty()) { final CacheEventListenerProvider listenerProvider; CacheEventListenerProvider provider; if ((provider = serviceLocator.getService(CacheEventListenerProvider.class)) != null) { listenerProvider = provider; } else { listenerProvider = new DefaultCacheEventListenerProvider(); } for (CacheEventListenerConfiguration config : eventListenerConfigurations) { final CacheEventListener<K, V> listener = listenerProvider.createEventListener(id, config); if (listener != null) { cache.getRuntimeConfiguration().registerCacheEventListener(listener, config.orderingMode(), config.firingMode(), config.fireOn()); lifeCycledList.add(new LifeCycled() { @Override public void init() throws Exception { } @Override public void close() throws Exception { listenerProvider.releaseEventListener(listener); } }); } } } eventDispatcher.setListenerSource(cache); }
Source:
<code>public static EngineVersion fromString(String engineVersion) { switch (engineVersion) { case "stable": return STABLE; case "experimental": return EXPERIMENTAL; case "legacy": return LEGACY; case "current": return CURRENT; <START> default: <END> return new EngineVersion(engineVersion); } }</code><technical_language>cases other versions show in future, this behavior confusing. While I idea of static defaults available, a good idea allow string version</technical_language>

Target:
public static EngineVersion fromString(String engineVersion) { return new EngineVersion(engineVersion); }
Source:
<code>public boolean hasSpatialIndex(FeatureEntry entry) throws IOException { try { Connection cx = connPool.getConnection(); try { <START> String tableName = getSpatialIndexName(entry).replace("\"", ""); <END> PreparedStatement ps = prepare(cx, "SELECT name FROM sqlite_master WHERE type='table' AND name=? ") .set(tableName) .log(Level.FINE).statement(); try { ResultSet rs = ps.executeQuery(); try { return rs.next(); } finally { close(rs); } } finally { close(ps); } } finally { close (cx); } } catch (SQLException e) { throw new IOException(e); } }</code><technical_language>Instead of undoing, sense add a "boolean quoted" parameter getSpatialIndexName method? A simple refactoring in IDE do trick, default true, this call point fixed. Also, if stupid accident manages get a quote in actual name? get rid of it</technical_language>

Target:
public boolean hasSpatialIndex(FeatureEntry entry) throws IOException { try { Connection cx = connPool.getConnection(); try { String tableName = getSpatialIndexName(entry); PreparedStatement ps = prepare(cx, "SELECT name FROM sqlite_master WHERE type='table' AND name=? ") .set(tableName) .log(Level.FINE).statement(); try { ResultSet rs = ps.executeQuery(); try { return rs.next(); } finally { close(rs); } } finally { close(ps); } } finally { close (cx); } } catch (SQLException e) { throw new IOException(e); } }
Source:
<code>protected SetOperationNode( @JsonProperty("id") PlanNodeId id, @JsonProperty("sources") List<PlanNode> sources, @JsonProperty("outputVariables") List<VariableReferenceExpression> outputVariables, @JsonProperty("outputToInputs") Map<VariableReferenceExpression, List<VariableReferenceExpression>> outputToInputs) { super(id); requireNonNull(sources, "sources is null"); checkArgument(!sources.isEmpty(), "Must have at least one source"); requireNonNull(outputToInputs, "outputToInputs is null"); this.sources = unmodifiableList(new ArrayList<>(sources)); Map<VariableReferenceExpression, List<VariableReferenceExpression>> copiedMap = new LinkedHashMap<>(); outputToInputs.forEach((key, value) -> copiedMap.put(key, unmodifiableList(new ArrayList<>(value)))); <START> this.outputToInputs = unmodifiableMap(new LinkedHashMap<>(copiedMap)); <END> this.outputVariables = unmodifiableList(new ArrayList<>(outputVariables)); for (Collection<VariableReferenceExpression> inputs : this.outputToInputs.values()) { checkArgument( inputs.size() == this.sources.size(), format("Every source needs to map its variables to an output %s operation variables", this.getClass().getSimpleName())); } for (int i = 0; i < sources.size(); i++) { for (List<VariableReferenceExpression> expectedInputs : this.outputToInputs.values()) { checkArgument(sources.get(i).getOutputVariables().contains(expectedInputs.get(i)), "Source does not provide required variables"); } } }</code><technical_language>nit: Unnecessary copying</technical_language>

Target:
protected SetOperationNode( @JsonProperty("id") PlanNodeId id, @JsonProperty("sources") List<PlanNode> sources, @JsonProperty("outputVariables") List<VariableReferenceExpression> outputVariables, @JsonProperty("outputToInputs") Map<VariableReferenceExpression, List<VariableReferenceExpression>> outputToInputs) { super(id); requireNonNull(sources, "sources is null"); checkArgument(!sources.isEmpty(), "Must have at least one source"); requireNonNull(outputToInputs, "outputToInputs is null"); this.sources = unmodifiableList(new ArrayList<>(sources)); Map<VariableReferenceExpression, List<VariableReferenceExpression>> copiedMap = new LinkedHashMap<>(); outputToInputs.forEach((key, value) -> copiedMap.put(key, unmodifiableList(new ArrayList<>(value)))); this.outputToInputs = unmodifiableMap(copiedMap); this.outputVariables = unmodifiableList(new ArrayList<>(outputVariables)); for (Collection<VariableReferenceExpression> inputs : this.outputToInputs.values()) { checkArgument( inputs.size() == this.sources.size(), format("Every source needs to map its variables to an output %s operation variables", this.getClass().getSimpleName())); } for (int i = 0; i < sources.size(); i++) { for (List<VariableReferenceExpression> expectedInputs : this.outputToInputs.values()) { checkArgument(sources.get(i).getOutputVariables().contains(expectedInputs.get(i)), "Source does not provide required variables"); } } }
Source:
<code>protected Object makeCalls(final CopyNumberTriStateHiddenMarkovModel model, final TargetCollection<Target> targets, final ReadCountCollection inputCounts) { logger.info("Composing list of segment intervals to genotype ..."); final List<GenotypingSegment> segments = composeGenotypingSegments(segmentsFile, targets); <START> logger.info(String.format("A total of %d segments to genotyping found", segments.size())); <END> final List<ForwardBackwardAlgorithm.Result<Double, Target, CopyNumberTriState>> fbResults = runFWBWAlgorithm(model, inputCounts); for (final GenotypingSegment segment : segments) { final VariantContext variant = composeVariantContext(segment, inputCounts.columnNames(), fbResults); outputWriter.add(variant); } return "SUCCESS"; }</code><technical_language>genotype</technical_language>

Target:
protected void makeCalls(final CopyNumberTriStateHiddenMarkovModel model, final TargetCollection<Target> targets, final ReadCountCollection inputCounts) { logger.info("Composing list of segment intervals to genotype ..."); final List<GenotypingSegment> segments = composeGenotypingSegments(segmentsFile, targets); logger.info(String.format("A total of %d segments to genotype found", segments.size())); final List<ForwardBackwardAlgorithm.Result<Double, Target, CopyNumberTriState>> fbResults = runFWBWAlgorithm(model, inputCounts); for (final GenotypingSegment segment : segments) { final VariantContext variant = composeVariantContext(segment, inputCounts.columnNames(), fbResults); outputWriter.add(variant); } }
Source:
<code>protected boolean attemptHandleIntentForUpload(final Intent intent) { <START> if (intent == null) { <END> return false; } if (HealthReportConstants.UPLOAD_FEATURE_DISABLED) { Logger.debug(LOG_TAG, "Health report upload feature is compile-time disabled; not handling intent."); return false; } final String action = intent.getAction(); Logger.debug(LOG_TAG, "Health report upload feature is compile-time enabled; attempting to " + "handle intent with action " + action + "."); if (HealthReportConstants.ACTION_HEALTHREPORT_UPLOAD_PREF.equals(action)) { handleUploadPrefIntent(intent); return true; } if (Intent.ACTION_BOOT_COMPLETED.equals(action) || Intent.ACTION_EXTERNAL_APPLICATIONS_AVAILABLE.equals(action)) { BackgroundService.reflectContextToFennec(this, GlobalConstants.GECKO_PREFERENCES_CLASS, GlobalConstants.GECKO_BROADCAST_HEALTHREPORT_UPLOAD_PREF_METHOD); return true; } return false; }</code><technical_language>do this for HealthReportBroadcastService? AnnouncementsBroadcastService a similar paradigm</technical_language>

Target:
private boolean attemptHandleIntentForUpload(final Intent intent) { if (HealthReportConstants.UPLOAD_FEATURE_DISABLED) { Logger.debug(LOG_TAG, "Health report upload feature is compile-time disabled; not handling intent."); return false; } final String action = intent.getAction(); Logger.debug(LOG_TAG, "Health report upload feature is compile-time enabled; attempting to " + "handle intent with action " + action + "."); if (HealthReportConstants.ACTION_HEALTHREPORT_UPLOAD_PREF.equals(action)) { handleUploadPrefIntent(intent); return true; } if (Intent.ACTION_BOOT_COMPLETED.equals(action) || Intent.ACTION_EXTERNAL_APPLICATIONS_AVAILABLE.equals(action)) { BackgroundService.reflectContextToFennec(this, GlobalConstants.GECKO_PREFERENCES_CLASS, GlobalConstants.GECKO_BROADCAST_HEALTHREPORT_UPLOAD_PREF_METHOD); return true; } return false; }
Source:
<code>@Test public void testParseAndConvert() throws Exception { checkParseAndConvert( "select * from \"emps\" where \"name\" like '%e%'", "SELECT *\n" + "FROM `emps`\n" + "WHERE `name` LIKE '%e%'", <START> "LogicalProject(empid=[$0], deptno=[$1], name=[$2], salary=[$3], " <END> + "commission=[$4])\n" + " LogicalFilter(condition=[LIKE($2, '%e%')])\n" + " EnumerableTableScan(table=[[hr, emps]])\n"); }</code><technical_language>need break long strings... check-style exception for lines strings</technical_language>

Target:
@Test public void testParseAndConvert() throws Exception { checkParseAndConvert( "select * from \"emps\" where \"name\" like '%e%'", "SELECT *\n" + "FROM `emps`\n" + "WHERE `name` LIKE '%e%'", "LogicalProject(empid=[$0], deptno=[$1], name=[$2], salary=[$3], commission=[$4])\n" + " LogicalFilter(condition=[LIKE($2, '%e%')])\n" + " EnumerableTableScan(table=[[hr, emps]])\n"); }
Source:
<code>public static String videoIdFrom(String uri) { <START> if(uri == null){ <END> return null; } for (Pattern p : alternateUris) { Matcher matcher = p.matcher(uri); if (matcher.matches()) { return matcher.group(1); } } return null; }</code><technical_language>replace this a checkNotNull? Thoughts @tfm</technical_language>

Target:
public static String videoIdFrom(String uri) throws YouTubeException { checkNotNull(uri); for (Pattern p : alternateUris) { Matcher matcher = p.matcher(uri); if (matcher.matches()) { return matcher.group(1); } } throw new YouTubeException(String.format("Provided URI %s deosn't match any known YouTube URI patterns", uri)); }
Source:
<code>public void extendsMenuItem(Element element, IsValid valid) { <START> extendsOneOfTypes(element, ANDROID_MENU_ITEM_QUALIFIED_NAMES, valid); <END> }</code><technical_language>if extended SherlockActivity contains android MenuItem vice versa? I tried, user get error in generated folder</technical_language>

Target:
public void extendsMenuItem(Element element, IsValid valid) { Element enclosingElement = element.getEnclosingElement(); String enclosingQualifiedName = enclosingElement.asType().toString(); TypeElement enclosingTypeElement = annotationHelper.typeElementFromQualifiedName(enclosingQualifiedName); if (enclosingTypeElement != null) { if (thirdPartyLibHelper.usesActionBarSherlock(enclosingTypeElement)) { extendsType(element, CanonicalNameConstants.SHERLOCK_MENU_ITEM, valid); } else { extendsType(element, CanonicalNameConstants.MENU_ITEM, valid); } } }
Source:
<code>private boolean isGoogRequireAssignment(Node statement) { if (!(statement.isConst() || statement.isVar() || statement.isLet())) { return false; } <START> if (statement.getFirstFirstChild() == null) { <END> return false; } Node rightHandSide = statement.getFirstFirstChild(); return rightHandSide.isCall() && rightHandSide.getFirstChild().matchesQualifiedName("goog.require"); }</code><technical_language>extract a local variable instead of calling twice</technical_language>

Target:
private static boolean isGoogRequireAssignment(Node statement) { if (!(statement.isConst() || statement.isVar() || statement.isLet())) { return false; } Node rightHandSide = statement.getFirstFirstChild(); return rightHandSide != null && rightHandSide.isCall() && rightHandSide.getFirstChild().matchesQualifiedName("goog.require"); }
Source:
<code><START> public final Response add(final String json) { <END> this.logger.debug("Importing new patient from JSON via REST: {}", json); final User currentUser = this.users.getCurrentUser(); if (!this.access.hasAccess(Right.EDIT, currentUser == null ? null : currentUser.getProfileDocument(), this.currentResolver.resolve(Patient.DEFAULT_DATA_SPACE, EntityType.SPACE))) { throw new WebApplicationException(Status.UNAUTHORIZED); } try { final Response response; if (json != null) { response = json.startsWith("[") ? addPatients(json) : addPatient(json); } else { response = buildResponse(this.repository.create()); } return response; } catch (Exception ex) { this.logger.error("Could not process patient creation request: {}", ex.getMessage(), ex); return Response.status(Status.INTERNAL_SERVER_ERROR).build(); } }</code><technical_language>[codestyle](<LINK_0></technical_language>

Target:
public Response add(final String json) { this.logger.debug("Importing new patient from JSON via REST: {}", json); final User currentUser = this.users.getCurrentUser(); if (!this.access.hasAccess(Right.EDIT, currentUser == null ? null : currentUser.getProfileDocument(), this.currentResolver.resolve(Patient.DEFAULT_DATA_SPACE, EntityType.SPACE))) { throw new WebApplicationException(Status.UNAUTHORIZED); } try { final Response response; if (json != null) { response = json.startsWith("[") ? addPatients(json) : addPatient(json); } else { response = buildCreatedResponse(this.repository.create()); } return response; } catch (Exception ex) { this.logger.error("Could not process patient creation request: {}", ex.getMessage(), ex); return Response.status(Status.INTERNAL_SERVER_ERROR).build(); } }
Source:
<code>private String author(int line) { PersonIdent author = <START> db.getMailmap().map(blame.getSourceAuthor(line)); <END> if (author == null) return ""; String name = showAuthorEmail ? author.getEmailAddress() : author .getName(); return name != null ? name : ""; }</code><technical_language>needed done in BlameResult. in general I if this mailmap transformation applied a level. Basically a RevWalk produces a commit. BlameGenerator, LogCommand, a walk setUseMailmap(true). problem signed commits? (Author mailmap-translated author in signature...) a RevCommit/RevTag need distinguish "author" (possibly mailmap-translated) "original author" (as stored), for "committer". sure... worth a design discussion about</technical_language>

Target:
private String author(int line) { PersonIdent author = blame.getSourceAuthor(line); if (author == null) return ""; String name = showAuthorEmail ? author.getEmailAddress() : author .getName(); return name != null ? name : ""; }
Source:
<code>protected void manualRefresh() { <START> editor.bot().toolbarButton(0).click(); <END> SWTBotUtils.waitProgressMonitorClose("Progress Information"); SWTBotUtils.waitAllUiEvents(); }</code><technical_language>is tooltip instead of a magic number. No</technical_language>

Target:
protected void manualRefresh() { editor.bot().toolbarButtonWithTooltip(DiagramDialectUIServices.REFRESH_DIAGRAM).click(); SWTBotUtils.waitProgressMonitorClose("Progress Information"); SWTBotUtils.waitAllUiEvents(); }
Source:
<code>public void reportCurrentNumberOfConsumers() throws Exception { when(topicRepositoryMock.topicExists(anyString())).thenReturn(true); final EventStream eventStream = mock(EventStream.class); Mockito.doAnswer(invocation -> { while (!Thread.interrupted()) { Thread.sleep(100); } return null; }).when(eventStream).streamEvents(any()); when(eventStreamFactoryMock.createEventStream(any(), any(), any())).thenReturn(eventStream); final StreamingResponseBody responseBody = controller.streamEvents(TEST_EVENT_TYPE, 1, 0, 0, 0, 0, null, requestMock, responseMock); final LinkedList<Thread> clients = new LinkedList<>(); final Counter counter = metricRegistry.counter(metricNameFor(TEST_EVENT_TYPE, EventStreamController.CONSUMERS_COUNT_METRIC_NAME)); for (int i = 0; i < 3; i++) { final Thread client = new Thread(() -> { try { responseBody.writeTo(new ByteArrayOutputStream()); } catch (final IOException e) { throw new RuntimeException(e); } }); client.start(); clients.add(client); Thread.sleep(500); executeWithRetry( <START> () -> { <END> assertThat(counter.getCount(), equalTo((long) clients.size())); }, retryForSpecifiedTimeOf(duration("5s")) ); } while (!clients.isEmpty()) { final Thread client = clients.pop(); client.interrupt(); client.join(); assertThat(counter.getCount(), equalTo((long) clients.size())); } }</code><technical_language>do need braces all</technical_language>

Target:
public void reportCurrentNumberOfConsumers() throws Exception { when(eventTypeRepository.findByName(TEST_EVENT_TYPE_NAME)).thenReturn(EVENT_TYPE); final EventStream eventStream = mock(EventStream.class); Mockito.doAnswer(invocation -> { while (!Thread.interrupted()) { Thread.sleep(100); } return null; }).when(eventStream).streamEvents(any()); when(eventStreamFactoryMock.createEventStream(any(), any(), any())).thenReturn(eventStream); final StreamingResponseBody responseBody = controller.streamEvents(TEST_EVENT_TYPE_NAME, 0, 0, 0, 0, 0, null, requestMock, responseMock); final LinkedList<Thread> clients = new LinkedList<>(); final Counter counter = metricRegistry.counter(metricNameFor(TEST_EVENT_TYPE_NAME, EventStreamController.CONSUMERS_COUNT_METRIC_NAME)); for (int i = 0; i < 3; i++) { final Thread client = new Thread(() -> { try { responseBody.writeTo(new ByteArrayOutputStream()); } catch (final IOException e) { throw new RuntimeException(e); } }); client.start(); clients.add(client); Thread.sleep(500); executeWithRetry( () -> assertThat(counter.getCount(), equalTo((long) clients.size())), retryForSpecifiedTimeOf(duration("5s")) ); } while (!clients.isEmpty()) { final Thread client = clients.pop(); client.interrupt(); client.join(); assertThat(counter.getCount(), equalTo((long) clients.size())); } }
Source:
<code>public TimeEvent(ITimeGraphEntry entry, long time, long duration, int value, int activeProperties) { this(new TimeGraphState(time, duration, value), entry); <START> fActiveProperties = activeProperties; <END> }</code><technical_language>active properties in this class in model. Changing properties in model effect? of removed</technical_language>

Target:
public TimeEvent(ITimeGraphEntry entry, long time, long duration, int value, int activeProperties) { this(new TimeGraphState(time, duration, value), entry); fModel.setActiveProperties(activeProperties); }
Source:
<code>public URI resolveResource(Repository repository, String path) throws IOException, <START> IllegalArgumentException <END> { RepositoryPath repositoryPath = resolve(repository).resolve(path); if (RepositoryFiles.isArtifact(repositoryPath)) { ArtifactCoordinates c = RepositoryFiles.readCoordinates(repositoryPath); return c.toResource(); } return URI.create(path); }</code><technical_language>I change this file is necessary. Hence, additional throws declaration of IllegalArgumentException is unnecessary. mind reverting this file previous state noise in Pull Request related this file</technical_language>

Target:
public URI resolveResource(Repository repository, String path) throws IOException { RepositoryPath repositoryPath = resolve(repository).resolve(path); if (RepositoryFiles.isArtifact(repositoryPath)) { ArtifactCoordinates c = RepositoryFiles.readCoordinates(repositoryPath); return c.toResource(); } return URI.create(path); }
Source:
<code>public void testCloseStream() throws InterruptedException { IntegrationFlow server = IntegrationFlows.from(Tcp.inboundGateway(Tcp.netServer(0) .deserializer(new ByteArrayRawSerializer()))) .<byte[], String>transform(p -> "reply:" + new String(p).toUpperCase()) <START> .bridge() <END> .get(); CountDownLatch latch = new CountDownLatch(1); AtomicInteger port = new AtomicInteger(); class Listener implements ApplicationListener<TcpConnectionServerListeningEvent> { @Override public void onApplicationEvent(TcpConnectionServerListeningEvent event) { port.set(event.getPort()); latch.countDown(); } } this.applicationContext.addApplicationListener(new Listener()); this.flowContext.registration(server) .id("streamCloseServer") .register(); assertThat(latch.await(10, TimeUnit.SECONDS)).isTrue(); IntegrationFlow client = IntegrationFlows.from(MessageChannels.direct()) .handle(Tcp.outboundGateway(Tcp.netClient("localhost", port.get()) .singleUseConnections(true) .serializer(new ByteArrayRawSerializer())) .closeStreamAfterSend(true)) .transform(Transformers.objectToString()) .get(); this.flowContext.registration(client) .id("streamCloseClient") .register(); MessagingTemplate messagingTemplate = new MessagingTemplate(client.getInputChannel()); assertThat(messagingTemplate.convertSendAndReceive("foo", String.class)).isEqualTo("reply:FOO"); }</code><technical_language>I do need bridge here..</technical_language>

Target:
public void testCloseStream() throws InterruptedException { IntegrationFlow server = IntegrationFlows.from(Tcp.inboundGateway(Tcp.netServer(0) .deserializer(new ByteArrayRawSerializer()))) .<byte[], String>transform(p -> "reply:" + new String(p).toUpperCase()) .get(); CountDownLatch latch = new CountDownLatch(1); AtomicInteger port = new AtomicInteger(); class Listener implements ApplicationListener<TcpConnectionServerListeningEvent> { @Override public void onApplicationEvent(TcpConnectionServerListeningEvent event) { port.set(event.getPort()); latch.countDown(); } } this.applicationContext.addApplicationListener(new Listener()); this.flowContext.registration(server) .id("streamCloseServer") .register(); assertThat(latch.await(10, TimeUnit.SECONDS)).isTrue(); IntegrationFlow client = IntegrationFlows.from(MessageChannels.direct()) .handle(Tcp.outboundGateway(Tcp.netClient("localhost", port.get()) .singleUseConnections(true) .serializer(new ByteArrayRawSerializer())) .closeStreamAfterSend(true)) .transform(Transformers.objectToString()) .get(); IntegrationFlowRegistration clientRegistration = this.flowContext.registration(client) .id("streamCloseClient") .register(); assertThat(clientRegistration.getMessagingTemplate() .convertSendAndReceive("foo", String.class)).isEqualTo("reply:FOO"); }
Source:
<code>public void retrieveFilesInEdit() throws Exception { assertThat(modifier.createEdit(change, ps)).isEqualTo(RefUpdate.Result.NEW); Optional<ChangeEdit> edit = editUtil.byChange(change); assertThat(modifier.modifyFile(edit.get(), FILE_NAME, CONTENT_NEW)) .isEqualTo(RefUpdate.Result.FORCED); EditInfo info = toEditInfo(true); <START> assertThat(info.files.size()).isEqualTo(2); <END> List<String> l = Lists.newArrayList(info.files.keySet()); assertThat(l.get(0)).isEqualTo("/COMMIT_MSG"); assertThat(l.get(1)).isEqualTo("foo"); }</code><technical_language>assertThat(info.files).hasSize(2);</technical_language>

Target:
public void retrieveFilesInEdit() throws Exception { assertThat(modifier.createEdit(change, ps)).isEqualTo(RefUpdate.Result.NEW); Optional<ChangeEdit> edit = editUtil.byChange(change); assertThat(modifier.modifyFile(edit.get(), FILE_NAME, CONTENT_NEW)) .isEqualTo(RefUpdate.Result.FORCED); EditInfo info = toEditInfo(true); assertThat(info.files).hasSize(2); List<String> l = Lists.newArrayList(info.files.keySet()); assertThat(l.get(0)).isEqualTo("/COMMIT_MSG"); assertThat(l.get(1)).isEqualTo("foo"); }
Source:
<code>public String getFunctionName() { <START> return "openstack"; <END> }</code><technical_language>call openstackBoot openstackMachine disambiguate form other of openstack</technical_language>

Target:
public String getFunctionName() { return "openstackMachine"; }
Source:
<code>public ExplainCommand() { Options o = CommandLineHelper.getCommonOptions(); o.addOption("i", "input", true, "load ontology from a file"); o.addOption("I", "input-iri", true, "load ontology from an IRI"); o.addOption("r", "reasoner", true, "reasoner to use: ELK, HermiT, JFact"); o.addOption("a", "axiom", true, "the axiom to explain"); o.addOption("m", "max", true, "the maximum number of explanations to retrieve"); <START> o.addOption("f", "format", true, "the explanation result format: MD, OFN, etc."); <END> o.addOption("o", "output", true, "save explanation to a file"); options = o; }</code><technical_language>add info in docs valid output formats</technical_language>

Target:
public ExplainCommand() { Options o = CommandLineHelper.getCommonOptions(); o.addOption("i", "input", true, "load ontology from a file"); o.addOption("I", "input-iri", true, "load ontology from an IRI"); o.addOption("r", "reasoner", true, "reasoner to use: ELK, HermiT, JFact"); o.addOption("a", "axiom", true, "the axiom to explain"); o.addOption("m", "max", true, "the maximum number of explanations to retrieve"); o.addOption("e", "explanation", true, "save explanation to a Markdown file"); o.addOption("f", "format", true, "the format: obo, owl, ttl, owx, omn, ofn, json"); o.addOption("o", "output", true, "save ontology containing only explanation axioms to a file"); options = o; }
Source:
<code>public void onExecute(CommandSender sender, String[] args) { if (sender.hasPermission("slimefun.command.versions") || sender instanceof ConsoleCommandSender) { sender.sendMessage(ChatColors.color("&a" + Bukkit.getName() + " &2" + ReflectionUtils.getVersion())); sender.sendMessage(""); sender.sendMessage(ChatColors.color("&aCS-CoreLib &2v" + SlimefunPlugin.getCSCoreLibVersion())); sender.sendMessage(ChatColors.color("&aSlimefun &2v" + SlimefunPlugin.getVersion()) + (SlimefunPlugin.getMetricsService().getVersion() != null <START> ? " (Metrics build: #" + SlimefunPlugin.getMetricsService().getVersion() + ')' <END> : "") ); if (SlimefunPlugin.getRegistry().isBackwardsCompatible()) { sender.sendMessage(ChatColor.YELLOW + "Backwards compatiblity enabled!"); } sender.sendMessage(""); Collection<Plugin> addons = SlimefunPlugin.getInstalledAddons(); sender.sendMessage(ChatColors.color("&7Installed Addons &8(" + addons.size() + ")")); for (Plugin plugin : addons) { if (Bukkit.getPluginManager().isPluginEnabled(plugin)) { sender.sendMessage(ChatColors.color(" &a" + plugin.getName() + " &2v" + plugin.getDescription().getVersion())); } else { sender.sendMessage(ChatColors.color(" &c" + plugin.getName() + " &4v" + plugin.getDescription().getVersion())); } } } else { SlimefunPlugin.getLocalization().sendMessage(sender, "messages.no-permission", true); } }</code><technical_language>display this a seperate line (if != null)</technical_language>

Target:
public void onExecute(CommandSender sender, String[] args) { if (sender.hasPermission("slimefun.command.versions") || sender instanceof ConsoleCommandSender) { String serverSoftware = PaperLib.isSpigot() && !PaperLib.isPaper() ? "Spigot" : Bukkit.getName(); sender.sendMessage(ChatColors.color("&a" + serverSoftware + " &2" + ReflectionUtils.getVersion())); sender.sendMessage(""); sender.sendMessage(ChatColors.color("&aCS-CoreLib &2v" + SlimefunPlugin.getCSCoreLibVersion())); sender.sendMessage(ChatColors.color("&aSlimefun &2v" + SlimefunPlugin.getVersion())); if (SlimefunPlugin.getMetricsService().getVersion() != null) sender.sendMessage(ChatColors.color("&aMetrics: &2#" + SlimefunPlugin.getMetricsService().getVersion() + ')')); if (SlimefunPlugin.getRegistry().isBackwardsCompatible()) { sender.sendMessage(ChatColor.YELLOW + "Backwards compatibility enabled!"); } sender.sendMessage(""); Collection<Plugin> addons = SlimefunPlugin.getInstalledAddons(); sender.sendMessage(ChatColors.color("&7Installed Addons &8(" + addons.size() + ")")); for (Plugin plugin : addons) { if (Bukkit.getPluginManager().isPluginEnabled(plugin)) { sender.sendMessage(ChatColors.color(" &a" + plugin.getName() + " &2v" + plugin.getDescription().getVersion())); } else { sender.sendMessage(ChatColors.color(" &c" + plugin.getName() + " &4v" + plugin.getDescription().getVersion())); } } } else { SlimefunPlugin.getLocalization().sendMessage(sender, "messages.no-permission", true); } }
Source:
<code>public void onViewStateRestored(@Nullable Bundle savedInstanceState) { RouteFavoriteDialogFragment dialogFragment = (RouteFavoriteDialogFragment) getFragmentManager().findFragmentByTag(RouteFavoriteDialogFragment.TAG); <START> if (dialogFragment != null) { <END> dialogFragment.setCallback(new RouteFavoriteDialogFragment.Callback() { @Override public void onSelectionComplete(boolean savedFavorite) { if (savedFavorite) { refreshLocal(); } } }); } super.onViewStateRestored(savedInstanceState); }</code><technical_language>put code a duplicate of lines 721-728 (setting callback) in a method, call method locations? I duplicate code causing headaches road, of changing code in lines 721-728 figure out behavior changing</technical_language>

Target:
public void onViewStateRestored(@Nullable Bundle savedInstanceState) { super.onViewStateRestored(savedInstanceState); RouteFavoriteDialogFragment dialogFragment = (RouteFavoriteDialogFragment) getFragmentManager().findFragmentByTag(RouteFavoriteDialogFragment.TAG); if (dialogFragment != null) { setCallbackToDialogFragment(dialogFragment); } }
Source:
<code>private void removeDeletedBricks(GlusterVolumeEntity existingVolume, List<GlusterBrickEntity> fetchedBricks) { List<Guid> idsToRemove = new ArrayList<Guid>(); for (final GlusterBrickEntity existingBrick : existingVolume.getBricks()) { if (!GlusterCoreUtil.containsBrick(fetchedBricks, existingBrick)) { idsToRemove.add(existingBrick.getId()); log.info("Detected brick '{}' removed from volume '{}'. Removing it from engine DB as well.", existingBrick.getQualifiedName(), existingVolume.getName()); logUtil.logAuditMessage(existingVolume.getClusterId(), existingVolume, null, AuditLogType.GLUSTER_VOLUME_BRICK_REMOVED_FROM_CLI, new HashMap<String, String>() { { put(GlusterConstants.BRICK, existingBrick.getQualifiedName()); } }); } } if (!idsToRemove.isEmpty()) { try { getBrickDao().removeAll(idsToRemove); } catch (Exception e) { <START> log.error("Error while removing bricks from database!", e); <END> } } }</code><technical_language>log.debug("Exception",e)</technical_language>

Target:
private void removeDeletedBricks(GlusterVolumeEntity existingVolume, List<GlusterBrickEntity> fetchedBricks) { List<Guid> idsToRemove = new ArrayList<Guid>(); for (final GlusterBrickEntity existingBrick : existingVolume.getBricks()) { if (!GlusterCoreUtil.containsBrick(fetchedBricks, existingBrick)) { idsToRemove.add(existingBrick.getId()); log.info("Detected brick '{}' removed from volume '{}'. Removing it from engine DB as well.", existingBrick.getQualifiedName(), existingVolume.getName()); logUtil.logAuditMessage(existingVolume.getClusterId(), existingVolume, null, AuditLogType.GLUSTER_VOLUME_BRICK_REMOVED_FROM_CLI, new HashMap<String, String>() { { put(GlusterConstants.BRICK, existingBrick.getQualifiedName()); } }); } } if (!idsToRemove.isEmpty()) { try { getBrickDao().removeAll(idsToRemove); } catch (Exception e) { log.error("Error while removing bricks from database: {}", e.getMessage()); log.debug("Exception", e); } } }
Source:
<code>private static void refreshBorderFigure(final BorderedStyle borderedStyle, final StyledFigure styledFigure) { LineBorder lineBorder = null; if (styledFigure.getBorder() instanceof LineBorder) { lineBorder = (LineBorder) styledFigure.getBorder(); } else { lineBorder = new LineBorder(); if (styledFigure instanceof Shape) { styledFigure.setBorder(null); } else { styledFigure.setBorder(lineBorder); } } int borderSize = 0; if (borderedStyle.getBorderSize() != null) { borderSize = borderedStyle.getBorderSize().intValue(); } lineBorder.setWidth(borderSize); final RGBValues borderColor = borderedStyle.getBorderColor(); if (borderColor != null) { lineBorder.setColor(VisualBindingManager.getDefault().getColorFromRGBValues(borderColor)); } if <START> (borderedStyle.getBorderSize() <END> == null || borderedStyle.getBorderSize().intValue() == 0) { if (!(styledFigure instanceof NoteFigure)) { styledFigure.setBorder(null); } } }</code><technical_language>reuse borderSize</technical_language>

Target:
private static void refreshBorderFigure(final BorderedStyle borderedStyle, final StyledFigure styledFigure) { LineBorder lineBorder = null; if (styledFigure.getBorder() instanceof LineBorder) { lineBorder = (LineBorder) styledFigure.getBorder(); } else { lineBorder = new LineBorder(); if (styledFigure instanceof Shape) { styledFigure.setBorder(null); } else { styledFigure.setBorder(lineBorder); } } int borderSize = 0; if (borderedStyle.getBorderSize() != null) { borderSize = borderedStyle.getBorderSize().intValue(); } lineBorder.setWidth(borderSize); final RGBValues borderColor = borderedStyle.getBorderColor(); if (borderColor != null) { lineBorder.setColor(VisualBindingManager.getDefault().getColorFromRGBValues(borderColor)); } if (borderedStyle.getBorderSize() == null || borderSize == 0) { if (!(styledFigure instanceof NoteFigure)) { styledFigure.setBorder(null); } } }
Source:
<code>private void performSolrCloudRestore(SolrClient client) { LOGGER.debug("Restoring collection from / {}.", coreName, backupLocation, backupName); printInfoMessage( String.format( "Restoring collection [%s] from [%s] / [%s].", coreName, backupLocation, backupName)); try { if (asyncRestore) { String requestId = restoreAsync(client, coreName, backupLocation, backupName); printInfoMessage("Restore request Id: " + requestId); } else { boolean isSuccess = restore(client, coreName, backupLocation, backupName); if (isSuccess) { printInfoMessage("Restore complete."); } } } catch (Exception e) { <START> String message = e.getMessage() != null ? e.getMessage() : ""; <END> printErrorMessage(String.format("Restore failed. %s", message)); LOGGER.debug("Restore failed for core: {}.", coreName, e); } }</code><technical_language>guaranteed exception message is sanitized enough valid printout console? This is basically, exceptions out</technical_language>

Target:
private void performSolrCloudRestore(SolrClient client) { LOGGER.debug("Restoring collection from / {}.", coreName, backupLocation, backupName); printInfoMessage( String.format( "Restoring collection [%s] from [%s] / [%s].", coreName, backupLocation, backupName)); try { if (asyncRestore) { String requestId = restoreAsync(client, coreName, backupLocation, backupName); printInfoMessage("Restore request Id: " + requestId); } else { boolean isSuccess = restore(client, coreName, backupLocation, backupName); if (isSuccess) { printInfoMessage("Restore complete."); } } } catch (InterruptedException | InterruptedIOException ie) { printErrorMessage("Restore was interrupted"); LOGGER.debug("Solr cloud restore was interrupted", ie); Thread.currentThread().interrupt(); } catch (Exception e) { printErrorMessage("Restore failed."); LOGGER.debug("Restore failed for core: {}.", coreName, e); } }
Source:
<code>public void onDisconnect() { if (player == null) { return; } player.remove(); Message userListMessage = UserListItemMessage.removeOne(player.getUniqueId()); for (GlowPlayer player : server.getOnlinePlayers()) { if (player.canSee(this.player)) { player.getSession().send(userListMessage); } else { player.stopHidingDisconnectedPlayer(this.player); } } GlowServer.logger.info(player.getName() + " [" + address + "] lost connection"); final String text = EventFactory.onPlayerQuit(player).getQuitMessage(); if (online) { <START> if (text != null && !text.isEmpty()) { <END> server.broadcastMessage(text); } } player = null; }</code><technical_language>change if statement online && text != null && !text.isEmpty()</technical_language>

Target:
public void onDisconnect() { if (player == null) { return; } player.remove(); Message userListMessage = UserListItemMessage.removeOne(player.getUniqueId()); for (GlowPlayer player : server.getOnlinePlayers()) { if (player.canSee(this.player)) { player.getSession().send(userListMessage); } else { player.stopHidingDisconnectedPlayer(this.player); } } GlowServer.logger.info(player.getName() + " [" + address + "] lost connection"); final String text = EventFactory.onPlayerQuit(player).getQuitMessage(); if (online && text != null && !text.isEmpty()) { server.broadcastMessage(text); } player = null; }
Source:
<code>public void check_login() { onView(withId(R.id.buttonOK)) .check(matches(not(isEnabled()))); onView(withId(R.id.hostUrlInput)) .perform(typeText(BuildConfig.TEST_SERVER_URL), closeSoftKeyboard()); onView(withId(R.id.account_username)).perform(click()); onView(withId(R.id.account_username)) .perform(typeText(BuildConfig.TEST_USER), closeSoftKeyboard()); onView(withId(R.id.account_password)) .perform(typeText(BuildConfig.TEST_PASSWORD), closeSoftKeyboard()); onView(withId(R.id.buttonOK)).perform(click()); try { Thread.sleep(WAIT_LOGIN); <START> Field f = Activity.class.getDeclaredField("mResultCode"); <END> f.setAccessible(true); mResultCode = f.getInt(mActivityRule.getActivity()); } catch (Exception e){ e.printStackTrace(); } assertTrue(errorMessage, mResultCode == Activity.RESULT_OK); }</code><technical_language>mResultCode defined a constant too</technical_language>

Target:
public void check_login() throws InterruptedException, NoSuchFieldException, IllegalArgumentException, IllegalAccessException { onView(withId(R.id.buttonOK)) .check(matches(not(isEnabled()))); onView(withId(R.id.hostUrlInput)) .perform(typeText(BuildConfig.TEST_SERVER_URL), closeSoftKeyboard()); onView(withId(R.id.account_username)).perform(click()); onView(withId(R.id.account_username)) .perform(typeText(BuildConfig.TEST_USER), closeSoftKeyboard()); onView(withId(R.id.account_password)) .perform(typeText(BuildConfig.TEST_PASSWORD), closeSoftKeyboard()); onView(withId(R.id.buttonOK)).perform(click()); Thread.sleep(WAIT_LOGIN); Field f = Activity.class.getDeclaredField(RESULT_CODE); f.setAccessible(true); int mResultCode = f.getInt(mActivityRule.getActivity()); assertTrue(ERROR_MESSAGE, mResultCode == Activity.RESULT_OK); }