auphong2707/dl4se-code-review-dataset huggingface dataset:
Source:
<code>public Map<PropertyKey, Map<String, Long>> getNewCurrentStateEndTimes() { Map<PropertyKey, Map<String, Long>> endTimeMap = new HashMap<>(); if (_updatedStateKeys != null && _prevStateMap != null) { int driftCnt = 0; for (PropertyKey propertyKey : _updatedStateKeys) { CurrentState prevState = _prevStateMap.get(propertyKey); CurrentState curState = _properties.get(propertyKey); Map<String, Long> partitionUpdateEndTimes = null; for (String partition : curState.getPartitionStateMap().keySet()) { long newEndTime = curState.getEndTime(partition); if (prevState == null || prevState.getEndTime(partition) < newEndTime && prevState.getEndTime(partition) != -1) { if (partitionUpdateEndTimes == null) { partitionUpdateEndTimes = new HashMap<>(); } partitionUpdateEndTimes.put(partition, newEndTime); } else if (prevState != null && prevState.getEndTime(partition) > newEndTime) { if (driftCnt < 1) { LOG.warn( "clock drift. partition:" + partition + " curState:" + curState.getState(partition) + " prevState: " + prevState.getState(partition)); } driftCnt++; <START> } <END> } if (partitionUpdateEndTimes != null) { endTimeMap.put(propertyKey, partitionUpdateEndTimes); } } } return endTimeMap; }</code><technical_language>is this for</technical_language>

Target:
public Map<PropertyKey, Map<String, Long>> getNewCurrentStateEndTimes() { Map<PropertyKey, Map<String, Long>> endTimeMap = new HashMap<>(); if (_updatedStateKeys != null && _prevStateMap != null) { int driftCnt = 0; for (PropertyKey propertyKey : _updatedStateKeys) { CurrentState prevState = _prevStateMap.get(propertyKey); CurrentState curState = _properties.get(propertyKey); Map<String, Long> partitionUpdateEndTimes = null; for (String partition : curState.getPartitionStateMap().keySet()) { long newEndTime = curState.getEndTime(partition); if ((prevState == null || prevState.getEndTime(partition) < newEndTime) && newEndTime != -1) { if (partitionUpdateEndTimes == null) { partitionUpdateEndTimes = new HashMap<>(); } partitionUpdateEndTimes.put(partition, newEndTime); } else if (prevState != null && prevState.getEndTime(partition) > newEndTime) { if (driftCnt < 1) { LOG.warn( "clock drift. partition:" + partition + " curState:" + curState.getState(partition) + " prevState: " + prevState.getState(partition)); } driftCnt++; } } if (partitionUpdateEndTimes != null) { endTimeMap.put(propertyKey, partitionUpdateEndTimes); } } } return endTimeMap; }
Source:
<code>protected boolean mergeImpl() throws IOException { boolean implicitDirCache = false; boolean clean = false; if (dircache == null) { dircache = getRepository().lockDirCache(); implicitDirCache = true; } clean = mergeTrees(mergeBase().getEntryObjectId(), sourceTrees[0], sourceTrees[1]); <START> if (implicitDirCache) { <END> dircache.unlock(); } return clean; }</code><technical_language>style nit: braces single line blocks</technical_language>

Target:
protected boolean mergeImpl() throws IOException { boolean implicitDirCache = false; boolean clean = false; if (dircache == null) { dircache = getRepository().lockDirCache(); implicitDirCache = true; } try { clean = mergeTrees(mergeBase(), sourceTrees[0], sourceTrees[1]); } finally { if (implicitDirCache) { dircache.unlock(); } } return clean; }
Source:
<code>public static Object navigateToObject(Object rootObject, List<String> steps, boolean createIfNull) { if (steps.size() < 1) { throw new ScenarioException(new StringBuilder().append("Invalid path to a property: path='") .append(String.join(".", steps)).append("'").toString()); } Class<?> currentClass = rootObject.getClass(); Object currentObject = rootObject; for (String step : steps) { Field declaredField = null; try { <START> if(currentObject == null) { <END> throw new ScenarioException(new StringBuilder().append("Impossible to reach field ") .append(step).append(" because a step is not instantiated") .toString()); } declaredField = currentClass.getDeclaredField(step); } catch (NoSuchFieldException e) { throw new ScenarioException(new StringBuilder().append("Impossible to find field with name '") .append(step).append("' in class ") .append(currentClass.getCanonicalName()).toString(), e); } declaredField.setAccessible(true); currentClass = declaredField.getType(); try { currentObject = getFieldValue(declaredField, currentObject, createIfNull); } catch (ReflectiveOperationException e) { throw new ScenarioException(new StringBuilder().append("Impossible to get or create class ") .append(currentClass.getCanonicalName()).toString()); } } return currentObject; }</code><technical_language>please update formatting to: if (currentObject == null) { - thinking if if (currentClass == null) { this if block access currentClass currentObject is inside</technical_language>

Target:
public static Object navigateToObject(Object rootObject, List<String> steps, boolean createIfNull) { if (steps.size() < 1) { throw new ScenarioException(new StringBuilder().append("Invalid path to a property, no steps provided").toString()); } Class<?> currentClass = rootObject.getClass(); Object currentObject = rootObject; for (String step : steps) { Field declaredField = null; try { if (currentObject == null) { throw new ScenarioException(new StringBuilder().append("Impossible to reach field ") .append(step).append(" because a step is not instantiated") .toString()); } declaredField = currentClass.getDeclaredField(step); } catch (NoSuchFieldException e) { throw new ScenarioException(new StringBuilder().append("Impossible to find field with name '") .append(step).append("' in class ") .append(currentClass.getCanonicalName()).toString(), e); } declaredField.setAccessible(true); currentClass = declaredField.getType(); try { currentObject = getFieldValue(declaredField, currentObject, createIfNull); } catch (ReflectiveOperationException e) { throw new ScenarioException(new StringBuilder().append("Impossible to get or create class ") .append(currentClass.getCanonicalName()).toString()); } } return currentObject; }
Source:
<code>public abstract JobExecutionResult execute(String jobName) throws Exception; public abstract String getExecutionPlan() throws Exception; public void registerCachedFile(String filePath, String name){ <START> this.cacheFile.add(filePath); <END> this.cacheFile.add(name); }</code><technical_language>error prone. a Tuple2<String,String> here</technical_language>

Target:
public abstract JobExecutionResult execute(String jobName) throws Exception; public abstract String getExecutionPlan() throws Exception; public void registerCachedFile(String filePath, String name){ this.cacheFile.add(new Tuple2<String, String>(filePath, name)); }
Source:
<code>public SafeHtml getEntityValue(Cluster object) { SafeHtmlBuilder images = new SafeHtmlBuilder(); boolean <START> addLineBreaks = <END> false; if (object.isClusterCompatibilityLevelUpgradeNeeded() || isDeprecated(object)) { images.append(getImageSafeHtml(IconType.EXCLAMATION)); addLineBreaks = true; } if (!object.getHostsOutOfSync().isEmpty()) { if (addLineBreaks) { images.appendHtmlConstant(constants.space()); } images.append(templates.brokenLinkRed()); } return templates.image(images.toSafeHtml()); }</code><technical_language>I call this variable addLineBreak space addition</technical_language>

Target:
public SafeHtml getEntityValue(Cluster object) { SafeHtmlBuilder images = new SafeHtmlBuilder(); boolean addSpace = false; if (object.isClusterCompatibilityLevelUpgradeNeeded() || isDeprecated(object)) { images.append(getImageSafeHtml(IconType.EXCLAMATION)); addSpace = true; } if (!object.getHostsOutOfSync().isEmpty()) { if (addSpace) { images.appendHtmlConstant(constants.space()); } images.append(templates.brokenLinkRed()); } return templates.image(images.toSafeHtml()); }
Source:
<code>private void publishPost() { if (!isFinishing() && NetworkUtils.checkConnection(this)) { if (!mPost.isLocalDraft()) { Map<String, Object> properties = new HashMap<>(); <START> properties.put("has_gutenberg_blocks", PostUtils.contentContainsGutenbergBlocks(mPost.getContent())); <END> AnalyticsUtils.trackWithSiteDetails(AnalyticsTracker.Stat.EDITOR_UPDATED_POST, mSite, properties); } if (PostStatus.fromPost(mPost) == PostStatus.DRAFT) { mPost.setStatus(PostStatus.PUBLISHED.toString()); UploadService.uploadPostAndTrackAnalytics(this, mPost); } else if (mPost.isLocalDraft() && PostStatus.fromPost(mPost) == PostStatus.PUBLISHED) { UploadService.uploadPostAndTrackAnalytics(this, mPost); } else { UploadService.uploadPost(this, mPost); } } }</code><technical_language>Niptick: do a string constant for has_gutenberg_blocks property</technical_language>

Target:
private void publishPost() { if (!isFinishing() && NetworkUtils.checkConnection(this)) { if (!mPost.isLocalDraft()) { Map<String, Object> properties = new HashMap<>(); properties.put(AnalyticsUtils.HAS_GUTENBERG_BLOCKS_KEY, PostUtils.contentContainsGutenbergBlocks(mPost.getContent())); AnalyticsUtils.trackWithSiteDetails(AnalyticsTracker.Stat.EDITOR_UPDATED_POST, mSite, properties); } if (PostStatus.fromPost(mPost) == PostStatus.DRAFT) { mPost.setStatus(PostStatus.PUBLISHED.toString()); UploadService.uploadPostAndTrackAnalytics(this, mPost); } else if (mPost.isLocalDraft() && PostStatus.fromPost(mPost) == PostStatus.PUBLISHED) { UploadService.uploadPostAndTrackAnalytics(this, mPost); } else { UploadService.uploadPost(this, mPost); } } }
Source:
<code>public void return_mismatch_object_with_double_values() { final double value0 = 0.1; <START> final double value1 = 0.1; <END> final double value2 = 0.1; final ValueMismatch mismatch = Mismatch.of(value0, value1, value2, VERSION); final DoubleValue expected = fromAny(mismatch.getExpected()); final DoubleValue actual = fromAny(mismatch.getActual()); final DoubleValue requested = fromAny(mismatch.getRequested()); assertEquals(value0, expected.getValue(), DELTA); assertEquals(value1, actual.getValue(), DELTA); assertEquals(value2, requested.getValue(), DELTA); }</code><technical_language>Please values in previous methods</technical_language>

Target:
public void return_mismatch_object_with_double_values() { final double expected = 0.1; final double actual = 0.2; final double requested = 0.3; final ValueMismatch mismatch = Mismatch.of(expected, actual, requested, VERSION); final DoubleValue expectedWrapped = fromAny(mismatch.getExpected()); final DoubleValue actualWrapped = fromAny(mismatch.getActual()); final DoubleValue requestedWrapped = fromAny(mismatch.getRequested()); assertEquals(expected, expectedWrapped.getValue(), DELTA); assertEquals(actual, actualWrapped.getValue(), DELTA); assertEquals(requested, requestedWrapped.getValue(), DELTA); }
Source:
<code>public void dispose() { writeSettings(); <START> LogReaderService[] services = this.logReaderServiceTracker.getServices(new LogReaderService[0]); <END> for (LogReaderService logReaderService : services) { logReaderService.removeLogListener(this); } this.logReaderServiceTracker.close(); fClipboard.dispose(); if (fTextShell != null) fTextShell.dispose(); fLabelProvider.disconnect(this); fFilteredTree.dispose(); super.dispose(); }</code><technical_language>I ist is enough close tracker heres, this triger "removedService in line 198 remove listeners</technical_language>

Target:
public void dispose() { writeSettings(); this.logReaderServiceTracker.close(); fClipboard.dispose(); if (fTextShell != null) fTextShell.dispose(); fLabelProvider.disconnect(this); fFilteredTree.dispose(); super.dispose(); }
Source:
<code>private static GoogleCloudStorage createGoogleCloudStorage() { try { return new GoogleCloudStorageImpl( GoogleCloudStorageTestHelper.getStandardOptionBuilder().setGrpcEnabled(true).build(), GoogleCloudStorageTestHelper.getCredential()); } catch (IOException e) { <START> GoogleLogger logger = GoogleLogger.forEnclosingClass(); <END> logger.atWarning().withCause(e).log( "Caught exception during GCS (%s) buckets creation", BUCKET_NAME); return null; } }</code><technical_language>I add throws IOException method signature delete this try-catch block</technical_language>

Target:
private static GoogleCloudStorage createGoogleCloudStorage() throws IOException { return new GoogleCloudStorageImpl( GoogleCloudStorageTestHelper.getStandardOptionBuilder().setGrpcEnabled(true).build(), GoogleCloudStorageTestHelper.getCredential()); }
Source:
<code><START> @Override protected void onFinishInflate() { <END> super.onFinishInflate(); TextView nameView = (TextView) findViewById(R.id.name); final EditText emailView = (EditText) findViewById(R.id.edit_email); nameView.setText(editor.name); emailView.setText(editor.email); emailView.addTextChangedListener(new TextWatcher() { @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { } @Override public void onTextChanged(CharSequence s, int start, int before, int count) { editor.email = s.toString(); } @Override public void afterTextChanged(Editable s) { } }); findViewById(R.id.save).setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { editor.email = emailView.getText().toString(); ContactsStorage storage = Flow.getService(FlowServices.CONTACTS_STORAGE, v.getContext()); storage.save(editor.toContact()); Flow.get(v).set(new ListContactsScreen()); } }); }</code><technical_language>For consistency onAttachedToWindow()</technical_language>

Target:
@Override protected void onFinishInflate() { super.onFinishInflate(); nameView = (TextView) findViewById(R.id.name); emailView = (EditText) findViewById(R.id.edit_email); saveButton = findViewById(R.id.save); }
Source:
<code>private static IDialogSettings getOrCreateSection(IDialogSettings settings, String sectionName) { IDialogSettings section = settings.getSection(sectionName); <START> if (section == null) { <END> section = settings.addNewSection(sectionName); } return section; }</code><technical_language>style nit: curly braces for single line blocks</technical_language>

Target:
private static IDialogSettings getOrCreateSection(IDialogSettings settings, String sectionName) { IDialogSettings section = settings.getSection(sectionName); if (section == null) section = settings.addNewSection(sectionName); return section; }
Source:
<code>private void testCasts() { Object o = (Object) new Object(); o = (java.lang. <START> Long) o; END> o = (Object)o; o = ( Object ) o; o = (Object) o; }</code><technical_language>Please add error case spans lines show reports violation correctly</technical_language>

Target:
private void testCasts() { Object o = (Object) new Object(); o = (Object)o; o = ( Object ) o; o = (Object) o; }
Source:
<code>public static String resolveSymlink(@Nonnull File link) throws InterruptedException, IOException { try { Path path = link.toPath(); return Files.readSymbolicLink(path).toString(); } catch (UnsupportedOperationException | FileSystemException x) { <START> return null; <END> } catch (Exception x) { throw (IOException) new IOException(x.toString()).initCause(x); } }</code><technical_language>need catch IOException rethrow avoid wrapping in another IOException below</technical_language>

Target:
public static String resolveSymlink(@Nonnull File link) throws InterruptedException, IOException { try { Path path = link.toPath(); return Files.readSymbolicLink(path).toString(); } catch (UnsupportedOperationException | FileSystemException x) { return null; } catch (IOException x) { throw x; } catch (Exception x) { throw (IOException) new IOException(x.toString()).initCause(x); } }
Source:
<code>protected MethodMatchers getMethodInvocationMatchers() { return MethodMatchers.or( MethodMatchers.create() .ofTypes("org.junit.jupiter.api.Assertions", "org.junit.Assert", "junit.framework.Assert", "org.fest.assertions.Fail", "org.assertj.core.api.Fail") .name(name -> name.startsWith(ASSERT) || name.equals("fail")).withAnyParameters().build(), <START> MethodMatchers.create().ofSubTypes(FEST_GENERIC_ASSERT).anyName().withAnyParameters().build(), MethodMatchers.create().ofSubTypes(ASSERTJ_ABSTRACT_ASSERT).anyName().withAnyParameters().build() <END> ); }</code><technical_language>merge matchers</technical_language>

Target:
protected MethodMatchers getMethodInvocationMatchers() { return MethodMatchers.or( MethodMatchers.create() .ofTypes("org.junit.jupiter.api.Assertions", "org.junit.Assert", "junit.framework.Assert", "org.fest.assertions.Fail", "org.assertj.core.api.Fail") .name(name -> name.startsWith(ASSERT) || name.equals("fail")).withAnyParameters().build(), MethodMatchers.create().ofSubTypes(FEST_GENERIC_ASSERT, ASSERTJ_ABSTRACT_ASSERT).anyName().withAnyParameters().build()); }
Source:
<code>private void verifyDirectives(String header, String directives, Pattern namePattern, String type) throws Exception { <START> verifyDirectives(header, directives, namePattern, type, (namespace, pattern) -> pattern); <END> }</code><technical_language>java private void verifyDirectives(String header, String directives, Pattern namePattern, String type) throws Exception { verifyDirectives(header, namespace -> directives, namePattern, type); } private void verifyDirectives(String header, Function<String, String> directives, Pattern namePattern, String type) throws Exception {</technical_language>

Target:
private void verifyDirectives(String header, String directives, Pattern namePattern, String type) throws Exception { verifyDirectives(header, namespace -> directives, namePattern, type); }
Source:
<code>protected String stripKindPrefix(String str) { <START> if (str.startsWith(kindPrefix)) { <END> return str.substring(kindPrefix.length()); } return str; }</code><technical_language>is difference new impl of this method old</technical_language>

Target:
protected String stripKindPrefix(String str) { return StringUtils.removeStart(str, kindPrefix); }
Source:
<code>private static boolean isInCatch(Tree tree) { <START> if (tree.parent() == null) { <END> return false; } if (Tree.Kind.CATCH.equals(tree.parent().kind())) { return true; } return isInCatch(tree.parent()); }</code><technical_language>This method refactored : Tree parent = tree.parent(); return parent != null && (parent.is(Kind.CATCH) || isInCatch(parent));</technical_language>

Target:
private static boolean isInCatch(Tree tree) { Tree parent = tree.parent(); return parent != null && !parent.is(Kind.METHOD) && (parent.is(Kind.CATCH) || isInCatch(parent)); }
Source:
<code>public Object convertUnsortedEncodedKeyComponentToActualArrayOrList(Long key, boolean asList) { <START> return Lists.newArrayList(key); <END> }</code><technical_language>ImmutableList.of cheaper. stores key a field</technical_language>

Target:
public Object convertUnsortedEncodedKeyComponentToActualArrayOrList(Long key, boolean asList) { return ImmutableList.of(key); }
Source:
<code>private <T, U> ListenableFuture<Response<T>> callWithEncoding( InetAddress host, int port, Request<U> request, final Class<T> responseType, ArgScheme scheme ) throws InterruptedException { RawRequest rawRequest = new RawRequest( <START> 0, <END> request.getTTL(), request.getService(), request.getTransportHeaders(), serializer.encodeEndpoint(request.getEndpoint(), scheme), serializer.encodeHeaders(request.getHeaders(), scheme), serializer.encodeBody(request.getBody(), scheme) ); rawRequest.setTransportHeader(TransportHeaders.CALLER_NAME_KEY, this.service); rawRequest.setTransportHeader(TransportHeaders.ARG_SCHEME_KEY, scheme.getScheme()); ListenableFuture<RawResponse> future = this.call(host, port, rawRequest); return transform(future, new AsyncFunction<RawResponse, Response<T>>() { @Override public ListenableFuture<Response<T>> apply(RawResponse rawResponse) { SettableFuture<Response<T>> settableFuture = SettableFuture.create(); Response<T> response = new Response.Builder<>( serializer.decodeBody(rawResponse, responseType), serializer.decodeEndpoint(rawResponse), rawResponse.getResponseCode() ).setHeaders(serializer.decodeHeaders(rawResponse)).build(); settableFuture.set(response); return settableFuture; } }); }</code><technical_language>get rid of hacking in ID. move this expectRequest method of ResponseRouter</technical_language>

Target:
private <T, U> ListenableFuture<Response<T>> callWithEncoding( InetAddress host, int port, Request<U> request, final Class<T> responseType, ArgScheme scheme ) throws InterruptedException { RawRequest rawRequest = new RawRequest( request.getTTL(), request.getService(), request.getTransportHeaders(), serializer.encodeEndpoint(request.getEndpoint(), scheme), serializer.encodeHeaders(request.getHeaders(), scheme), serializer.encodeBody(request.getBody(), scheme) ); rawRequest.setTransportHeader(TransportHeaders.CALLER_NAME_KEY, this.service); rawRequest.setTransportHeader(TransportHeaders.ARG_SCHEME_KEY, scheme.getScheme()); ListenableFuture<RawResponse> future = this.call(host, port, rawRequest); return transform(future, new AsyncFunction<RawResponse, Response<T>>() { @Override public ListenableFuture<Response<T>> apply(RawResponse rawResponse) { SettableFuture<Response<T>> settableFuture = SettableFuture.create(); Response<T> response = new Response.Builder<>( serializer.decodeBody(rawResponse, responseType), serializer.decodeEndpoint(rawResponse), rawResponse.getResponseCode()) .setHeaders(serializer.decodeHeaders(rawResponse)) .build(); settableFuture.set(response); return settableFuture; } }); }
Source:
<code>public boolean initialize(boolean excludePrivateDomains) { <START> return initialize(this.getClass().getResourceAsStream(ETLD_DATA), false); <END> }</code><technical_language>this pass excludePrivateDomains initialize() call, passing false</technical_language>

Target:
public boolean initialize(boolean excludePrivateDomains) { return initialize(this.getClass().getResourceAsStream(ETLD_DATA), excludePrivateDomains); }
Source:
<code>public static boolean isSendErrorAsResponse(PMode pmode) { boolean notifyProducer = false; if(pmode.getErrorHandling() != null) { <START> if(pmode.getErrorHandling().getReport() != null) { <END> notifyProducer = pmode.getErrorHandling().getReport().isAsResponse(); } } return notifyProducer; }</code><technical_language>merge if statements</technical_language>

Target:
public static boolean isSendErrorAsResponse(PMode pmode) { boolean notifyProducer = false; if(pmode.getErrorHandling() != null && pmode.getErrorHandling().getReport() != null) { notifyProducer = pmode.getErrorHandling().getReport().isAsResponse(); } return notifyProducer; }
Source:
<code><START> public DivolteConfiguration( <END> final ServerConfiguration server, final TrackingConfiguration tracking, final JavascriptConfiguration javascript, final IncomingRequestProcessorConfiguration incomingRequestProcessor, final KafkaFlusherConfiguration kafkaFlusher, final HdfsFlusherConfiguration hdfsFlusher) { this.server = server; this.tracking = tracking; this.javascript = javascript; this.incomingRequestProcessor = incomingRequestProcessor; this.kafkaFlusher = kafkaFlusher; this.hdfsFlusher = hdfsFlusher; }</code><technical_language>I this constructor private, need guard null parameters</technical_language>

Target:
private DivolteConfiguration( final ServerConfiguration server, final TrackingConfiguration tracking, final JavascriptConfiguration javascript, final IncomingRequestProcessorConfiguration incomingRequestProcessor, final KafkaFlusherConfiguration kafkaFlusher, final HdfsFlusherConfiguration hdfsFlusher) { this.server = server; this.tracking = tracking; this.javascript = javascript; this.incomingRequestProcessor = incomingRequestProcessor; this.kafkaFlusher = kafkaFlusher; this.hdfsFlusher = hdfsFlusher; }
Source:
<code><START> private Map<Target, Map<TargetAnnotation, String>> composeTargetToAnnotationMap(final List<File> targetAnnotations, <END> final TargetCollection<Target> targets) { final Map<Target,Map<TargetAnnotation,String>> annotationsByTarget = targets.targets().stream() .map(TargetArgumentCollection::targetToTargetAnnotationMapPair) .collect(Collectors.toMap(Pair::getLeft, Pair::getRight)); for (final File annotationFile : targetAnnotations) { try (final TargetTableReader reader = new TargetTableReader(annotationFile)) { reader.stream() .filter(annotationsByTarget::containsKey) .forEach(annotatedTarget -> { for (final TargetAnnotation annotation : annotatedTarget.getAnnotations().annotationSet()) { final String value = annotatedTarget.getAnnotations().get(annotation); annotationsByTarget.get(annotatedTarget).put(annotation, value); } }); } catch (final IOException ex) { throw new UserException.CouldNotReadInputFile(annotationFile, ex); } } return annotationsByTarget; }</code><technical_language>EnumMap<TargetAnnotation, String></technical_language>

Target:
private Map<Target, Map<TargetAnnotation, String>> composeTargetToAnnotationMap(final List<File> targetAnnotations, final TargetCollection<Target> targets) { final Map<Target, Map<TargetAnnotation, String>> annotationsByTarget = targets.targets().stream().collect(Collectors.toMap(target -> target, TargetArgumentCollection::targetToTargetAnnotationMap)); for (final File annotationFile : targetAnnotations) { try (final TargetTableReader reader = new TargetTableReader(annotationFile)) { reader.stream() .filter(annotationsByTarget::containsKey) .forEach(annotatedTarget -> { for (final TargetAnnotation annotation : annotatedTarget.getAnnotations().annotationSet()) { final String value = annotatedTarget.getAnnotations().get(annotation); annotationsByTarget.get(annotatedTarget).put(annotation, value); } }); } catch (final IOException ex) { throw new UserException.CouldNotReadInputFile(annotationFile, ex); } } return annotationsByTarget; }
Source:
<code>private boolean isJobUnsaved(FileObject lastSavedJobFile, AnalysisJobBuilder analysisJobBuilder) { <START> if (lastSavedJobFile == null) { <END> return true; } InputStream lastSavedOutputStream = null; ByteArrayOutputStream currentOutputStream = null; try { lastSavedOutputStream = getJobFile().getContent().getInputStream(); JaxbJobWriter writer = new JaxbJobWriter(_configuration); currentOutputStream = new ByteArrayOutputStream(); writer.write(_analysisJobBuilder.toAnalysisJob(false), currentOutputStream); String currentJob = new String(currentOutputStream.toByteArray()); String currentJobNoMetadata = currentJob.replaceAll("\n", "").replaceAll("<job-metadata>.*</job-metadata>", ""); String lastSavedJob = IOUtils.toString(lastSavedOutputStream); String lastSavedJobNoMetadata = lastSavedJob.replaceAll("\n", "").replaceAll("<job-metadata>.*</job-metadata>", ""); return !currentJobNoMetadata.equals(lastSavedJobNoMetadata); } catch (FileSystemException e) { throw new IllegalStateException(e); } catch (IOException e) { throw new IllegalStateException(e); } finally { FileHelper.safeClose(currentOutputStream); FileHelper.safeClose(lastSavedOutputStream); } }</code><technical_language>add a more precautionary optimizations. check: lastSavedJobFile.exists() lastSavedJobFile.length() > 0</technical_language>

Target:
private boolean isJobUnsaved(FileObject lastSavedJobFile, AnalysisJobBuilder analysisJobBuilder) { if (lastSavedJobFile == null) { return true; } try { if (!lastSavedJobFile.exists()) { return true; } } catch (FileSystemException e) { logger.warn("Error while determining if the job file already exists", e); } InputStream lastSavedOutputStream = null; ByteArrayOutputStream currentOutputStream = null; try { File jobFile = new File(getJobFile().getURL().getFile()); if (jobFile.length() == 0) { return true; } String lastSavedJob = FileHelper.readFileAsString(jobFile); String lastSavedJobNoMetadata = lastSavedJob.replaceAll("\n", "").replaceAll("<job-metadata>.*</job-metadata>", ""); JaxbJobWriter writer = new JaxbJobWriter(_configuration); currentOutputStream = new ByteArrayOutputStream(); writer.write(_analysisJobBuilder.toAnalysisJob(false), currentOutputStream); String currentJob = new String(currentOutputStream.toByteArray()); String currentJobNoMetadata = currentJob.replaceAll("\n", "").replaceAll("<job-metadata>.*</job-metadata>", ""); return !currentJobNoMetadata.equals(lastSavedJobNoMetadata); } catch (FileSystemException e) { throw new IllegalStateException(e); } finally { FileHelper.safeClose(currentOutputStream); FileHelper.safeClose(lastSavedOutputStream); } }
Source:
<code>private long fractionOf( long length ) { <START> int idealChunkCount = 10; <END> if ( length < idealChunkCount ) { return length; } int maxArraySize = Integer.MAX_VALUE - Short.MAX_VALUE; return min( length / idealChunkCount, maxArraySize ); }</code><technical_language>magic 10? reasons 10</technical_language>

Target:
private long fractionOf( long length ) { if ( length < MAGIC_CHUNK_COUNT ) { return length; } return min( length / MAGIC_CHUNK_COUNT, MAX_ARRAY_SIZE ); }
Source:
<code><START> public void createPresenceStatusObject(Registration reg, int clientAwakeTime) { <END> clientStatusList.put(reg.getEndpoint(), new PresenceStatus(clientAwakeTime)); }</code><technical_language>I ask myself, if this is create automatically status exist setAwake</technical_language>

Target:
private void createPresenceStatusObject(Registration reg, int clientAwakeTime) { clientStatusList.put(reg.getEndpoint(), new PresenceStatus(clientAwakeTime)); }
Source:
<code><START> public default Curve withUnderlyingCurve(int curveIndex, Curve curve) { <END> if (curveIndex == 0) { return curve; } return this; }</code><technical_language>methods need implemented else? AddFixedCurve</technical_language>

Target:
public default Curve withUnderlyingCurve(int curveIndex, Curve curve) { if (curveIndex == 0) { return curve; } throw new IllegalArgumentException("curveIndex is outside the range"); }
Source:
<code>private void test(boolean async) { ConfigurationBuilder dcc = TestCacheManagerFactory.getDefaultCacheConfiguration(true); DummyInMemoryStoreConfigurationBuilder builder = dcc.persistence().addStore(DummyInMemoryStoreConfigurationBuilder.class); if (async) { builder.async().enable(); } <START> builder.create(); <END> EmbeddedCacheManager cacheManager = TestCacheManagerFactory.createCacheManager(dcc); Cache<Object,Object> cache = cacheManager.getCache(); try { DummyInMemoryStore loader = (DummyInMemoryStore) TestingUtil.getFirstLoader(cache); DummyInMemoryStore writer = (DummyInMemoryStore) TestingUtil.getFirstWriter(cache); assertEquals(1, loader.initCount.get()); assertEquals(1, writer.initCount.get()); } finally { TestingUtil.killCacheManagers(cacheManager); } }</code><technical_language>invoke create()</technical_language>

Target:
private void test(boolean async) { ConfigurationBuilder dcc = TestCacheManagerFactory.getDefaultCacheConfiguration(true); DummyInMemoryStoreConfigurationBuilder builder = dcc.persistence().addStore(DummyInMemoryStoreConfigurationBuilder.class); if (async) { builder.async().enable(); } EmbeddedCacheManager cacheManager = TestCacheManagerFactory.createCacheManager(dcc); Cache<Object,Object> cache = cacheManager.getCache(); try { CacheLoader firstLoader = TestingUtil.getFirstLoader(cache); CacheLoader undelegatedLoader = firstLoader instanceof DelegatingCacheLoader ? ((DelegatingCacheLoader) firstLoader).undelegate() : firstLoader; CacheWriter firstWriter = TestingUtil.getFirstWriter(cache); CacheWriter undelegatedWriter = firstWriter instanceof DelegatingCacheWriter ? ((DelegatingCacheWriter) firstWriter).undelegate() : firstWriter; assertEquals(1, ((DummyInMemoryStore)undelegatedLoader).initCount.get()); assertEquals(1, ((DummyInMemoryStore)undelegatedWriter).initCount.get()); } finally { TestingUtil.killCacheManagers(cacheManager); } }
Source:
<code><START> protected boolean set(EntityLiving dataHolder, HandType value) { <END> dataHolder.setActiveHand(Preconditions.checkNotNull((EnumHand) (Object) value)); return true; }</code><technical_language>EntityLivingBase, EntityLiving</technical_language>

Target:
protected boolean set(EntityLiving dataHolder, HandType value) { dataHolder.setLeftHanded(value.equals(HandTypes.LEFT)); return true; }
Source:
<code>private List<DiskImage> getDiskList() { List<DiskImage> disksList = new ArrayList<>(); for (DiskImage diskImage : diskInfoDestinationMap.values()) { DiskImage clone = DiskImage.copyOf(diskImage); clone.setVolumeType(VolumeType.Sparse); <START> if (getDiskStorageDomain(diskImage).getStorageType().isBlockDomain()) { <END> clone.setvolumeFormat(VolumeFormat.COW); } } return disksList; }</code><technical_language>If this is a sparse disk based a template, QCOW</technical_language>

Target:
private List<DiskImage> getDiskList() { List<DiskImage> disksList = new ArrayList<>(); for (DiskImage diskImage : diskInfoDestinationMap.values()) { DiskImage clone = DiskImage.copyOf(diskImage); clone.setVolumeType(VolumeType.Sparse); clone.setvolumeFormat(VolumeFormat.COW); disksList.add(clone); } return disksList; }
Source:
<code>public void testExecuteBatchPreparedStatementFailSyntax() throws Exception { try (Connection conn = DriverManager.getConnection(connectionStr)) { PreparedStatement stmt = conn.prepareStatement("insert test (id, string_field) values (?, ?)"); stmt.setInt(1, 2); <START> stmt.setString(2, "foo"); <END> stmt.addBatch(); stmt.setInt(1, 3); stmt.setString(2, "bar"); stmt.addBatch(); stmt.setInt(1, 4); stmt.setString(2, "baz"); stmt.addBatch(); try { stmt.executeBatch(); fail("BatchUpdateException not thrown"); } catch (BatchUpdateException e) { assertArrayEquals( new int[]{Statement.EXECUTE_FAILED, Statement.EXECUTE_FAILED, Statement.EXECUTE_FAILED}, e.getUpdateCounts() ); } conn.createStatement().execute("refresh table test"); ResultSet resultSet = conn.createStatement().executeQuery("select count(*) from test"); assertThat(resultSet.next(), is(true)); assertThat(resultSet.getLong(1), is(1L)); } }</code><technical_language>here, string col is irrelevant</technical_language>

Target:
public void testExecuteBatchPreparedStatementFailSyntax() throws Exception { try (Connection conn = DriverManager.getConnection(connectionString)) { PreparedStatement stmt = conn.prepareStatement("insert test (id) values (?)"); stmt.setInt(1, 2); stmt.addBatch(); try { stmt.executeBatch(); fail("BatchUpdateException not thrown"); } catch (BatchUpdateException e) { assertArrayEquals(new int[]{Statement.EXECUTE_FAILED}, e.getUpdateCounts()); } conn.createStatement().execute("refresh table test"); ResultSet resultSet = conn.createStatement().executeQuery("select count(*) from test"); assertThat(resultSet.next(), is(true)); assertThat(resultSet.getLong(1), is(0L)); } }
Source:
<code>public void destroy() { for (JettyHttpClient client : clients) { client.close(); } if (pool != null) { pool.close(); pool = null; <START> if(injector.getExistingBinding(Key.get(MBeanExporter.class)) != null) { <END> injector.getInstance(MBeanExporter.class) .unexport(generatedNameOf(QueuedThreadPoolMBean.class) + "_" + name); } } destroyed.set(true); }</code><technical_language>This class is effectively a provider. Instead of export directly, bind JMX export bind IO pool export happen normal way</technical_language>

Target:
public void destroy() { for (JettyHttpClient client : clients) { client.close(); } if (pool != null) { pool.close(); pool = null; } destroyed.set(true); }
Source:
<code>public void actionPerformed(ActionEvent event) { Object o = event.getSource(); if (o == askButton || o == text) { String textFiltered = text.getText(); if (filter.isSelected()) { textFiltered = textFiltered.replace("'", " ").replace("-", " "); } send("getResponse", textFiltered); text.setText(""); response.setCaretPosition(response.getDocument().getLength()); } else if (o == startSessionButton) { String path = progABPath.getText().trim(); String user = userName.getText().trim(); String bot = botName.getText().trim(); swingGui.send(boundServiceName, "setPath", path); swingGui.send(boundServiceName, "reloadSession", path, user, bot, true); } else if (o == reloadSession) { <START> swingGui.send(boundServiceName, "startSession", userName.getText().trim()); <END> } else if (o == saveAIML) { swingGui.send(boundServiceName, "writeAIML"); swingGui.send(boundServiceName, "writeAIMLIF"); } else { log.info(o.toString()); log.info("Unknown action!"); } }</code><technical_language>Start session reload chat bot if chat bot is created. Reload Session reload AIML entire chat bot brain</technical_language>

Target:
public void actionPerformed(ActionEvent event) { Object o = event.getSource(); String path = progABPath.getText().trim(); String user = userName.getText().trim(); String bot = null; if (botName.getItemCount() > 0) { bot = botName.getSelectedItem().toString(); } if (o == askButton || o == text) { String textFiltered = text.getText(); if (filter.isSelected()) { textFiltered = textFiltered.replace("'", " ").replace("-", " "); } send("getResponse", textFiltered); text.setText(""); response.setCaretPosition(response.getDocument().getLength()); } else if (o == startSession) { swingGui.send(boundServiceName, "setPath", path); swingGui.send(boundServiceName, "startSession", path, user, bot); } else if (o == reloadSession) { swingGui.send(boundServiceName, "reloadSession", user, bot); } else if (o == saveAIML) { swingGui.send(boundServiceName, "writeAIML"); swingGui.send(boundServiceName, "writeAIMLIF"); } else { log.info(o.toString()); log.info("Unknown action!"); } }
Source:
<code>public ActivationKeyDTO updateActivationKey( @PathParam("activation_key_id") @Verify(ActivationKey.class) String activationKeyId, @ApiParam(name = "update", required = true) ActivationKeyDTO update) { ActivationKey toUpdate = this.fetchActivationKey(activationKeyId); if (update.getName() != null) { String keyName = update.getName() .replace("-", "0").replace("_", "0"); <START> if (!keyName.matches("[a-zA-Z0-9]*")) { <END> throw new BadRequestException( i18n.tr("The activation key name \"{0}\" must be alphanumeric or " + "include the characters \"-\" or \"_\"", update.getName())); } toUpdate.setName(update.getName()); } String serviceLevel = update.getServiceLevel(); if (serviceLevel != null) { serviceLevelValidator.validate(toUpdate.getOwner().getId(), serviceLevel); toUpdate.setServiceLevel(serviceLevel); } if (update.getReleaseVersion() != null) { toUpdate.setReleaseVer(new Release(update.getReleaseVersion())); } if (update.getDescription() != null) { toUpdate.setDescription(update.getDescription()); } if (update.getUsage() != null) { toUpdate.setUsage(update.getUsage()); } if (update.getRole() != null) { toUpdate.setRole(update.getRole()); } if (update.getAddOns() != null) { Set<String> addOns = new HashSet<>(); addOns.addAll(update.getAddOns()); toUpdate.setAddOns(addOns); } if (update.isAutoAttach() != null) { toUpdate.setAutoAttach(update.isAutoAttach()); } toUpdate = activationKeyCurator.merge(toUpdate); return this.translator.translate(toUpdate, ActivationKeyDTO.class); }</code><technical_language>This expression allows empty strings. Change quantifier end a force more zero more</technical_language>

Target:
public ActivationKeyDTO updateActivationKey( @PathParam("activation_key_id") @Verify(ActivationKey.class) String activationKeyId, @ApiParam(name = "update", required = true) ActivationKeyDTO update) { ActivationKey toUpdate = this.fetchActivationKey(activationKeyId); if (update.getName() != null) { Matcher keyMatcher = AK_CHAR_FILTER.matcher(update.getName()); if (!keyMatcher.matches()) { throw new BadRequestException( i18n.tr("The activation key name \"{0}\" must be alphanumeric or " + "include the characters \"-\" or \"_\"", update.getName())); } toUpdate.setName(update.getName()); } String serviceLevel = update.getServiceLevel(); if (serviceLevel != null) { serviceLevelValidator.validate(toUpdate.getOwner().getId(), serviceLevel); toUpdate.setServiceLevel(serviceLevel); } if (update.getReleaseVersion() != null) { toUpdate.setReleaseVer(new Release(update.getReleaseVersion())); } if (update.getDescription() != null) { toUpdate.setDescription(update.getDescription()); } if (update.getUsage() != null) { toUpdate.setUsage(update.getUsage()); } if (update.getRole() != null) { toUpdate.setRole(update.getRole()); } if (update.getAddOns() != null) { Set<String> addOns = new HashSet<>(); addOns.addAll(update.getAddOns()); toUpdate.setAddOns(addOns); } if (update.isAutoAttach() != null) { toUpdate.setAutoAttach(update.isAutoAttach()); } toUpdate = activationKeyCurator.merge(toUpdate); return this.translator.translate(toUpdate, ActivationKeyDTO.class); }
Source:
<code>private void initView(Context context) { <START> setId(AndroidUtil.generateViewId()); <END> View view = LayoutInflater.from(context).inflate(R.layout.media_layout, this); audioButton = view.findViewById(R.id.audio_button); videoButton = view.findViewById(R.id.video_button); textViewContainer = view.findViewById(R.id.question_text_container); videoView = view.findViewById(R.id.inline_video_view); qrView = view.findViewById(R.id.qr_view); imageView = view.findViewById(R.id.image); resizingImageView = view.findViewById(R.id.resizing_image); downloadIcon = view.findViewById(R.id.download_media_icon); progressBar = view.findViewById(R.id.progress_bar); missingMediaStatus = view.findViewById(R.id.missing_media_tv); divider = view.findViewById(R.id.divider); mediaLayoutBottomBarrier = view.findViewById(R.id.media_barrier); missingMediaBackground = view.findViewById(R.id.missing_media_background); }</code><technical_language>is this required</technical_language>

Target:
private void initView(Context context) { setId(AndroidUtil.generateViewId()); View view = LayoutInflater.from(context).inflate(R.layout.media_layout, this); audioButton = view.findViewById(R.id.audio_button); videoButton = view.findViewById(R.id.video_button); textViewContainer = view.findViewById(R.id.question_text_container); videoView = view.findViewById(R.id.inline_video_view); qrView = view.findViewById(R.id.qr_view); imageView = view.findViewById(R.id.image); resizingImageView = view.findViewById(R.id.resizing_image); downloadIcon = view.findViewById(R.id.download_media_icon); progressBar = view.findViewById(R.id.progress_bar); missingMediaStatus = view.findViewById(R.id.missing_media_tv); divider = view.findViewById(R.id.divider); mediaLayoutBottomBarrier = view.findViewById(R.id.media_barrier); missingMediaBackground = view.findViewById(R.id.missing_media_background); questionBottomBarrier = view.findViewById(R.id.question_barrier); }
Source:
<code>private void doButtonAction(boolean okPressed) { if (okPressed) { String newTagDisplayName = tagNameTextField.getText().trim(); String descriptionText = descriptionTextArea.getText(); if (newTagDisplayName.isEmpty()) { JOptionPane.showMessageDialog(this, NbBundle.getMessage(TagNameDialog.class, "TagNameDialog.JOptionPane.tagNameEmpty.message"), NbBundle.getMessage(TagNameDialog.class, "TagNameDialog.JOptionPane.tagNameEmpty.title"), JOptionPane.ERROR_MESSAGE); return; } <START> if (TagsManager.containsIllegalCharacters(newTagDisplayName)) { <END> JOptionPane.showMessageDialog(this, NbBundle.getMessage(TagNameDialog.class, "TagNameDialog.JOptionPane.tagDescriptionIllegalCharacters.message"), NbBundle.getMessage(TagNameDialog.class, "TagNameDialog.JOptionPane.tagDescriptionIllegalCharacters.title"), JOptionPane.ERROR_MESSAGE); return; } else if (descriptionText.contains(",") || descriptionText.contains(";")) { JOptionPane.showMessageDialog(this, NbBundle.getMessage(TagNameDialog.class, "TagNameDialog.JOptionPane.tagDescriptionIllegalCharacters.message"), NbBundle.getMessage(TagNameDialog.class, "TagNameDialog.JOptionPane.tagDescriptionIllegalCharacters.title"), JOptionPane.ERROR_MESSAGE); return; } userTagDescription = descriptionTextArea.getText(); userTagDisplayName = newTagDisplayName; userTagIsNotable = notableCheckbox.isSelected(); result = BUTTON_PRESSED.OK; } else { result = BUTTON_PRESSED.CANCEL; } setVisible(false); }</code><technical_language>I need a check user is a tag definition a tag name of standard tag definitions</technical_language>

Target:
private void doButtonAction(boolean okPressed) { if (okPressed) { String newTagDisplayName = tagNameTextField.getText().trim(); String descriptionText = descriptionTextArea.getText(); if (newTagDisplayName.isEmpty()) { JOptionPane.showMessageDialog(this, NbBundle.getMessage(TagNameDialog.class, "TagNameDialog.JOptionPane.tagNameEmpty.message"), NbBundle.getMessage(TagNameDialog.class, "TagNameDialog.JOptionPane.tagNameEmpty.title"), JOptionPane.ERROR_MESSAGE); return; } if (TagsManager.containsIllegalCharacters(newTagDisplayName) && !TagNameDefinition.getStandardTagNames().contains(newTagDisplayName)) { JOptionPane.showMessageDialog(this, NbBundle.getMessage(TagNameDialog.class, "TagNameDialog.JOptionPane.tagDescriptionIllegalCharacters.message"), NbBundle.getMessage(TagNameDialog.class, "TagNameDialog.JOptionPane.tagDescriptionIllegalCharacters.title"), JOptionPane.ERROR_MESSAGE); return; } else if (descriptionText.contains(",") || descriptionText.contains(";")) { JOptionPane.showMessageDialog(this, NbBundle.getMessage(TagNameDialog.class, "TagNameDialog.JOptionPane.tagDescriptionIllegalCharacters.message"), NbBundle.getMessage(TagNameDialog.class, "TagNameDialog.JOptionPane.tagDescriptionIllegalCharacters.title"), JOptionPane.ERROR_MESSAGE); return; } userTagDescription = descriptionTextArea.getText(); userTagDisplayName = newTagDisplayName; userTagIsNotable = notableCheckbox.isSelected(); result = BUTTON_PRESSED.OK; } else { result = BUTTON_PRESSED.CANCEL; } setVisible(false); }
Source:
<code>public void should_not_create_a_span_when_current_thread_should_be_ignored() throws ExecutionException, InterruptedException { <START> String threadNameToIgnore = "^MyCustomThread.*$"; <END> RxJavaPlugins.getInstance().registerSchedulersHook(new MyRxJavaSchedulersHook()); SleuthRxJavaSchedulersHook schedulersHook = new SleuthRxJavaSchedulersHook( this.tracer, this.traceKeys, Arrays.asList("HystixMetricPoller", threadNameToIgnore)); Future<Void> hello = executorService().submit((Callable<Void>) () -> { Action0 action = schedulersHook.onSchedule(() -> { caller = new StringBuilder("hello"); }); action.call(); return null; }); hello.get(); BDDMockito.then(this.tracer).should(never()).createSpan(anyString()); BDDMockito.then(this.tracer).should(never()).continueSpan(any()); }</code><technical_language>hard of "HystixMetricPoller" ^^ tested. needed</technical_language>

Target:
public void should_not_create_a_span_when_current_thread_should_be_ignored() throws ExecutionException, InterruptedException { String threadNameToIgnore = "^MyCustomThread.*$"; RxJavaPlugins.getInstance().registerSchedulersHook(new MyRxJavaSchedulersHook()); SleuthRxJavaSchedulersHook schedulersHook = new SleuthRxJavaSchedulersHook( this.tracer, this.traceKeys, Collections.singletonList(threadNameToIgnore)); Future<Void> hello = executorService().submit((Callable<Void>) () -> { Action0 action = schedulersHook.onSchedule(() -> { caller = new StringBuilder("hello"); }); action.call(); return null; }); hello.get(); BDDMockito.then(this.tracer).should(never()).createSpan(anyString()); BDDMockito.then(this.tracer).should(never()).continueSpan(any()); }
Source:
<code>public PageableResult search(RequestContext context) throws ResponseException { String tag = context.getRequest().getParameter("tag"); List<Location> locations = new ArrayList<Location>(); try { Context.addProxyPrivilege(PrivilegeConstants.VIEW_LOCATIONS); LocationTag locationTag = Context.getLocationService().getLocationTagByName(tag); if (locationTag == null) { <START> locationTag = Context.getLocationService().getLocationTagByUuid(tag); <END> } if (locationTag != null) { locations = Context.getLocationService().getLocationsByTag(locationTag); } } finally { Context.removeProxyPrivilege(PrivilegeConstants.VIEW_LOCATIONS); } return new NeedsPaging<Location>(locations, context); }</code><technical_language>Find uuid first</technical_language>

Target:
public PageableResult search(RequestContext context) throws ResponseException { String tag = context.getRequest().getParameter("tag"); List<Location> locations = new ArrayList<Location>(); try { Context.addProxyPrivilege(PrivilegeConstants.VIEW_LOCATIONS); LocationTag locationTag = Context.getLocationService().getLocationTagByUuid(tag); if (locationTag == null) { locationTag = Context.getLocationService().getLocationTagByName(tag); } if (locationTag != null) { locations = Context.getLocationService().getLocationsByTag(locationTag); } } finally { Context.removeProxyPrivilege(PrivilegeConstants.VIEW_LOCATIONS); } return new NeedsPaging<Location>(locations, context); }