auphong2707/dl4se-code-review-dataset huggingface dataset:
Source:
<code>public Response approve(Action action) { if (action.isSetCluster() && (action.getCluster().isSetId() || action.getCluster().isSetName())) { update(setCluster(get(), action.getCluster())); <START> } <END> ApproveVdsParameters params = new ApproveVdsParameters(guid); params.setPassword(action.getRootPassword()); if (action.isSetSsh()) { if (action.getSsh().isSetUser()) { if (action.getSsh().getUser().isSetPassword()) { params.setPassword(action.getSsh().getUser().getPassword()); } } if (action.getSsh().isSetAuthenticationType()) { params.setAuthMethod(mapAuth(action.getSsh().getAuthenticationType().getAuthenticationType())); } } return doAction(VdcActionType.ApproveVds, params, action); }</code><technical_language>implement dedicated validateEnums(Action.class, action); validate AuthenticationType for (see validateEnums(VM.class, vm); for details)</technical_language>

Target:
public Response approve(Action action) { if (action.isSetCluster() && (action.getCluster().isSetId() || action.getCluster().isSetName())) { update(setCluster(get(), action.getCluster())); } validateEnums(Action.class, action); ApproveVdsParameters params = new ApproveVdsParameters(guid); params = getMapper(Action.class, ApproveVdsParameters.class).map(action, params); return doAction(VdcActionType.ApproveVds, params, action); }
Source:
<code>public void testInterruptsHealthCheckOnClose() throws InterruptedException { final CountDownLatch inHealthCheckLatch = new CountDownLatch(1); final CountDownLatch interruptedLatch = new CountDownLatch(1); when(_serviceFactory.isHealthy(FOO_ENDPOINT)).thenAnswer(new Answer<Boolean>() { @Override public Boolean answer(InvocationOnMock invocation) { inHealthCheckLatch.countDown(); synchronized (this) { try { this.wait(); } catch (InterruptedException e) { interruptedLatch.countDown(); } } return false; } }); when(_hostDiscovery.getHosts()).thenReturn(ImmutableList.of(FOO_ENDPOINT)); ServicePool<Service> pool = new ServicePool<>(_ticker, _hostDiscovery, false, _serviceFactory, ServiceCachingPolicyBuilder.NO_CACHING, _partitionFilter, _loadBalanceAlgorithm, <START> Executors.newScheduledThreadPool(1), true, new FixedHealthCheckRetryPolicy(100, TimeUnit.MILLISECONDS), _registry); <END> try { pool.execute(NEVER_RETRY, new ServiceCallback<Service, Void>() { @Override public Void call(Service service) throws ServiceException { throw new ServiceException(); } }); fail(); } catch (MaxRetriesException e) { } assertTrue(inHealthCheckLatch.await(10, TimeUnit.SECONDS)); pool.close(); assertTrue(interruptedLatch.await(10, TimeUnit.SECONDS)); }</code><technical_language>this need a delay</technical_language>

Target:
public void testInterruptsHealthCheckOnClose() throws InterruptedException { final CountDownLatch inHealthCheckLatch = new CountDownLatch(1); final CountDownLatch interruptedLatch = new CountDownLatch(1); when(_serviceFactory.isHealthy(FOO_ENDPOINT)).thenAnswer(new Answer<Boolean>() { @Override public Boolean answer(InvocationOnMock invocation) { inHealthCheckLatch.countDown(); synchronized (this) { try { this.wait(); } catch (InterruptedException e) { interruptedLatch.countDown(); } } return false; } }); when(_hostDiscovery.getHosts()).thenReturn(ImmutableList.of(FOO_ENDPOINT)); ServicePool<Service> pool = new ServicePool<>(_ticker, _hostDiscovery, false, _serviceFactory, ServiceCachingPolicyBuilder.NO_CACHING, _partitionFilter, _loadBalanceAlgorithm, Executors.newScheduledThreadPool(1), true, new FixedHealthCheckRetryDelay(100, TimeUnit.MILLISECONDS), _registry); try { pool.execute(NEVER_RETRY, new ServiceCallback<Service, Void>() { @Override public Void call(Service service) throws ServiceException { throw new ServiceException(); } }); fail(); } catch (MaxRetriesException e) { } assertTrue(inHealthCheckLatch.await(10, TimeUnit.SECONDS)); pool.close(); assertTrue(interruptedLatch.await(10, TimeUnit.SECONDS)); }
Source:
<code>public static byte[] getInitialJson(String dirName, String file) { <START> Preconditions.checkArgument(!dirName.contains("/"), "Invalid dir name %s", dirName); <END> Mutation mutation = RootTable.EXTENT.getPrevRowUpdateMutation(); ServerColumnFamily.DIRECTORY_COLUMN.put(mutation, new Value(dirName.getBytes(UTF_8))); mutation.put(DataFileColumnFamily.STR_NAME, file, new DataFileValue(0, 0).encodeAsValue()); ServerColumnFamily.TIME_COLUMN.put(mutation, new Value(new MetadataTime(0, TimeType.LOGICAL).encode())); RootTabletMetadata rtm = new RootTabletMetadata(); rtm.update(mutation); return rtm.toJson().getBytes(UTF_8); }</code><technical_language>Is a stricter check do? if starts with, contains one, slash</technical_language>

Target:
public static byte[] getInitialJson(String dirName, String file) { ServerColumnFamily.validateDirCol(dirName); Mutation mutation = RootTable.EXTENT.getPrevRowUpdateMutation(); ServerColumnFamily.DIRECTORY_COLUMN.put(mutation, new Value(dirName.getBytes(UTF_8))); mutation.put(DataFileColumnFamily.STR_NAME, file, new DataFileValue(0, 0).encodeAsValue()); ServerColumnFamily.TIME_COLUMN.put(mutation, new Value(new MetadataTime(0, TimeType.LOGICAL).encode())); RootTabletMetadata rtm = new RootTabletMetadata(); rtm.update(mutation); return rtm.toJson().getBytes(UTF_8); }
Source:
<code>public void setHttpConnector(HttpConnector httpConnector) { <START> log.debug("HttpConnector '" + httpConnector.getClass().getName() + "' registered."); <END> }</code><technical_language>parameterized logging</technical_language>

Target:
public void setHttpConnector(HttpConnector httpConnector) { log.debug("HttpConnector '{}' registered.", httpConnector.getClass().getName()); }
Source:
<code>public Object getObject(String category, String url, String username, String password) { this.restTemplate.setInterceptors(Arrays.asList(new BasicAuthInterceptor(username, password), new HeaderClientHttpRequestInterceptor("Accept", "application/json"))); this.restTemplate.setMessageConverters(Collections.<HttpMessageConverter<?>>singletonList(new FHIRHttpMessageConverter())); <START> return restTemplate.getForObject(url, resolveCategory(category)); <END> }</code><technical_language>patient UUID is incorrect get 404 error I catch handle</technical_language>

Target:
public Object getObject(String category, String url, String username, String password) throws HttpClientErrorException { prepareRestTemplate(username, password); String stringObject = ""; try { stringObject = restTemplate.getForObject(url, resolveCategory(category)).toString(); } catch(HttpClientErrorException e) { log.error(String.format("Resource %s not found", category)); } return convertStringToFHIRObject(resolveCategory(category), stringObject); }
Source:
<code>String updateAgentAssociation(Request request, Response response) { String envName = request.params("env_name"); EnvironmentConfig envConfig = environmentConfigService.getEnvironmentConfig(envName); JsonReader jsonReader = GsonTransformer.getInstance().jsonReaderFrom(request.body()); JsonReader agents = jsonReader.readJsonObject("agents"); List<String> uuidsToAssociate = agents.readStringArrayIfPresent("add").orElse(Collections.emptyList()); List<String> uuidsToRemove = agents.readStringArrayIfPresent("remove").orElse(Collections.emptyList()); if (!uuidsToAssociate.isEmpty() || !uuidsToRemove.isEmpty()) { <START> agentService.updateAgentsAssociationOfEnvironment(envConfig, uuidsToAssociate, uuidsToRemove); <END> } return renderMessage(response, 200, "Environment '" + envName + "' updated successfully!"); }</code><technical_language>@vrushaliwaykole @dhanasp -- is a null check updateAgentsAssociationOfEnvironment is usage of this method making environment exists part of environmentConfigService.getEnvironmentConfig remove null check verification updateAgentsAssociationOfEnvironment</technical_language>

Target:
String updateAgentAssociation(Request request, Response response) { String envName = request.params("env_name"); EnvironmentConfig envConfig = environmentConfigService.getEnvironmentConfig(envName); JsonReader jsonReader = GsonTransformer.getInstance().jsonReaderFrom(request.body()); JsonReader agents = jsonReader.readJsonObject("agents"); List<String> uuidsToAssociate = agents.readStringArrayIfPresent("add").orElse(Collections.emptyList()); List<String> uuidsToRemove = agents.readStringArrayIfPresent("remove").orElse(Collections.emptyList()); if (!uuidsToAssociate.isEmpty() || !uuidsToRemove.isEmpty()) { agentService.updateAgentsAssociationOfEnvironment(envConfig, uuidsToAssociate, uuidsToRemove); } return renderMessage(response, 200, EntityType.Environment.updateSuccessful(envName)); }
Source:
<code>private String getBody() { String jobID = jobState.getId().value(); String status = jobState.getStatus().toString(); String hostname = "UNKNOWN"; List<TaskState> tasks = jobState.getTasks(); StringBuilder taskStatus = new StringBuilder(); for (TaskState task : tasks) { <START> taskStatus.append("Task : " + task.getId().toString() + " Status: " + task.getStatus().toString() + "\n"); <END> } try { hostname = InetAddress.getLocalHost().getCanonicalHostName(); } catch (UnknownHostException e) { logger.debug("Could not get hostname", e); } return String.format(BODY_TEMPLATE, jobID, status, taskStatus.toString(), hostname); }</code><technical_language>I prefer task.getId().getReadableName() + " (" + task.getId().toString() +") Status: " + ..</technical_language>

Target:
private String getBody() { String jobID = jobState.getId().value(); String status = jobState.getStatus().toString(); String hostname = "UNKNOWN"; try { hostname = InetAddress.getLocalHost().getCanonicalHostName(); } catch (UnknownHostException e) { logger.debug("Could not get hostname", e); } return String.format(BODY_TEMPLATE, jobID, status, hostname); }
Source:
<code>public void setScanRows(int[] rows, int[] rowIndices, int numRows) { filterIdx = -1; failNext = 0; if (numRows == numFilterRows) { allFilters = true; numFilters = numFilterRows; } else { allFilters = false; numFilters = numRows; if (numFilters == 0) { return; } if (filterOrder == null || filterOrder.length < numRows) { filterOrder = new int[numRows]; } int row = rowIndices != null ? rows[rowIndices[0]] : rows[0]; <START> int first = Arrays.binarySearch(filterRows, 0, numFilterRows, row); <END> if (first < 0) { throw new IllegalArgumentException("Filter row not in defined row set for PositionalFilter"); } filterOrder[0] = first; for (int i = 1; i < numRows; i++) { row = rowIndices != null ? rows[rowIndices[i]] : rows[i]; boolean found = false; for (int j = filterOrder[i - 1] + 1; j < numFilterRows; j++) { if (filterRows[j] == row) { filterOrder[i] = j; found = true; break; } if (filterRows[j] > row) { break; } } if (!found) { throw new IllegalArgumentException("Setting a filtered row that is not in the set of defined rows for PositionalFilter"); } } } }</code><technical_language>Consider extracting helper method getPositionIndex: selectedPositionIndexes[0] = getPositionIndex(row); private int getPositionIndex(int position) { int index = Arrays.binarySearch(positions, 0, numPositions, position); checkArgument(index >= 0, "Filter row in defined row set for PositionalFilter"); return index; }</technical_language>

Target:
public void setScanRows(int[] rows, int[] rowIndices, int numRows) { checkArgument(numRows <= rows.length); checkArgument(numRows <= numPositions); filterIndex = -1; numNextPositionsToFail = 0; if (numRows == numPositions) { scanAllPositions = true; numSelectedPositions = numPositions; } else { scanAllPositions = false; numSelectedPositions = numRows; if (numSelectedPositions == 0) { return; } if (selectedPositionIndexes == null || selectedPositionIndexes.length < numRows) { selectedPositionIndexes = new int[numRows]; } int row = rowIndices != null ? rows[rowIndices[0]] : rows[0]; int first = Arrays.binarySearch(positions, 0, numPositions, row); verify(first >= 0, "Filter row not in defined row set for PositionalFilter"); selectedPositionIndexes[0] = first; for (int i = 1; i < numRows; i++) { row = rowIndices != null ? rows[rowIndices[i]] : rows[i]; boolean found = false; for (int j = selectedPositionIndexes[i - 1] + 1; j < numPositions; j++) { if (positions[j] == row) { selectedPositionIndexes[i] = j; found = true; break; } if (positions[j] > row) { break; } } verify(found, "Row not found in PositionalFilter " + row); } } }
Source:
<code>public Object[] getElements() { Object[] allElements = new Object[keys.length]; for (int i = 0; i < <START> keys.length; <END> ++i) allElements[i] = get(keys[i]); return allElements; }</code><technical_language>potential NPE, public constructor initalize keys array</technical_language>

Target:
public Object[] getElements() { Preconditions.checkState(keys != null, KEYS_ARRAY_SETUP_MISSING_MESSAGE); Object[] allElements = new Object[keys.length]; for (int i = 0; i < keys.length; ++i) allElements[i] = get(keys[i]); return allElements; }
Source:
<code>private void validateProperties(List<Property> properties, Optional<Scope> scope) { Set<String> propertyNames = new HashSet<>(); for (Property property : properties) { if (!propertyNames.add(property.getName().getValue())) { <START> throw new SemanticException(DUPLICATE_PROPERTY, property, "Duplicate property '%s'", property.getName().getValue()); <END> } } for (Property property : properties) { process(property, scope); } }</code><technical_language>put end delimiting it: java "Duplicate property: %s"</technical_language>

Target:
private void validateProperties(List<Property> properties, Optional<Scope> scope) { Set<String> propertyNames = new HashSet<>(); for (Property property : properties) { if (!propertyNames.add(property.getName().getValue())) { throw new SemanticException(DUPLICATE_PROPERTY, property, "Duplicate property: %s", property.getName().getValue()); } } for (Property property : properties) { process(property, scope); } }
Source:
<code>default int getIntValue(JsonObject jsonObject) throws DataException { try { return jsonObject.getInt(this.toString()); <START> } catch (RuntimeException e) { <END> throw new DataException("Not possible to retrieve int value for key " + this.toString() + ". Exception: " + e.getMessage()); } }</code><technical_language>catch RuntimeException based class here? I NullPointerException ClassCastException official thrown</technical_language>

Target:
default int getIntValue(JsonObject jsonObject) throws DataException { try { return jsonObject.getInt(this.toString()); } catch (ClassCastException | NullPointerException e) { throw new DataException("Not possible to retrieve int value for key " + this.toString() + ". Exception: " + e.getMessage()); } }
Source:
<code>public String toString() { String str = ""; if (production.items.size() > 0) { if (production.items.get(0) instanceof UserList) { String separator = ((UserList) production.items.get(0)).separator; if (contents.size() == 2) str = contents.get(0) + " " + separator + " " + contents.get(1) + " "; else <START> str = ".List{\"" + StringUtil.escape(separator) + "\"}"; <END> } else for (int i = 0, j = 0; i < production.items.size(); i++) { ProductionItem pi = production.items.get(i); if (pi instanceof Terminal) { String terminall = pi.toString(); terminall = terminall.substring(1, terminall.length() - 1); str += terminall + " "; } else if (pi instanceof Sort) str += contents.get(j++) + " "; } } return str; }</code><technical_language>Exps, .List{,}</technical_language>

Target:
public String toString() { String str = ""; if (production.items.size() > 0) { if (production.isListDecl()) { String separator = ((UserList) production.items.get(0)).separator; if (contents.size() == 0) str += "." + sort; else { str += "'_" + separator + "_("; for (Term t : contents) str += t + ", "; str = str.substring(0, str.length()-2) + ")"; } } else for (int i = 0, j = 0; i < production.items.size(); i++) { ProductionItem pi = production.items.get(i); if (pi instanceof Terminal) { str += ((Terminal) pi).getTerminal() + " "; } else if (pi instanceof Sort) str += contents.get(j++) + " "; } } return str; }
Source:
<code>public static BootSequence getBootSequence(List<VmDevice> devices) { BootSequence ret = BootSequence.C; String seq = ""; for (VmDevice device : devices) { if (device.getBootOrder() > 0) { if (isNetwork(device) && seq.indexOf('N') < 0) { seq.concat("N"); } if (isDisk(device) && seq.indexOf('C') < 0) { seq.concat("C"); } if (isCD(device) && seq.indexOf('D') < 0) { seq.concat("D"); } if (seq.length() == 3) { break; } } } for (BootSequence bs : BootSequence.values()) { if (bs.name().equals(seq)) { <START> ret = bs; <END> } } return ret; }</code><technical_language>break;</technical_language>

Target:
public static BootSequence getBootSequence(List<VmDevice> devices) { BootSequence ret = BootSequence.C; String seq = ""; for (VmDevice device : devices) { if (device.getBootOrder() > 0) { if (isNetwork(device) && seq.indexOf('N') < 0) { seq.concat("N"); } if (isDisk(device) && seq.indexOf('C') < 0) { seq.concat("C"); } if (isCD(device) && seq.indexOf('D') < 0) { seq.concat("D"); } if (seq.length() == 3) { break; } } } for (BootSequence bs : BootSequence.values()) { if (bs.name().equals(seq)) { ret = bs; break; } } return ret; }
Source:
<code>public void writeStringNoTag(final String value) throws IOException { writeRawVarint32(encodedLength(value)); if (charsetEncoder == null ) { charsetEncoder = UTF8_CHARSET.newEncoder(); } try { final CharBuffer charBuffer = CharBuffer.wrap(value); <START> CoderResult coderResult = charsetEncoder.encode(charBuffer, buffer, true ); <END> if (coderResult.isError() && !coderResult.isUnderflow()) { coderResult.throwException(); } coderResult = charsetEncoder.flush(buffer); if (coderResult.isError() && !coderResult.isUnderflow()) { coderResult.throwException(); } } finally { charsetEncoder.reset(); } }</code><technical_language>I idea CharsetEncoder this difficult work with. computing string length ourselves, perform string-to-bytes conversion save allocation of CharBuffer, CharsetEncoder 2x CodeResult's. A quick search yielded ready-to-use UTF-16 UTF-8 conversion. find one? If searches fail, write code do optimization: write ASCII bytes 1:1, a 1-or-2-byte conversion loop for chars < 0x800, fall a general method sequence.codePointAt(i) read characters, 1-to-4-byte conversion code point, advances i a branch-free expression: i += 1 + ((0xFFFF - codePoint) >>> 31)</technical_language>

Target:
public void writeStringNoTag(final String value) throws IOException { try { final int lengthVarIntSize = computeRawVarint32Size(value.length()); if (lengthVarIntSize == computeRawVarint32Size(value.length() * 3 )) { int oldPosition = buffer.position(); buffer.position(oldPosition + lengthVarIntSize); encode(value, buffer); int newPosition = buffer.position(); buffer.position(oldPosition); writeRawVarint32(newPosition - oldPosition - lengthVarIntSize); buffer.position(newPosition); } else { writeRawVarint32(encodedLength(value)); encode(value, buffer); } } catch (BufferOverflowException e) { throw new OutOfSpaceException(buffer.position(), buffer.limit()); } }
Source:
<code>public BatchProcessor(StreamLog streamLog, long sealEpoch, boolean sync) { this.sealEpoch = sealEpoch; this.sync = sync; this.streamLog = streamLog; operationsQueue = new LinkedBlockingQueue<>(); processorService.submit(this::processor); <START> <END> writeRecordTimer = MeterRegistryProvider.getInstance().map(registry -> Timer.builder("logunit.write.timer") .tags("type", "single").register(registry)); writeRecordsTimer = MeterRegistryProvider.getInstance().map(registry -> Timer.builder("logunit.write.timer") .tags("type", "multiple").register(registry)); fsyncTimer = MeterRegistryProvider.getInstance().map(registry -> Timer.builder("logunit.fsync.timer") .register(registry)); }</code><technical_language>a histogram batch size/queue size answer questions queuing delay</technical_language>

Target:
public BatchProcessor(StreamLog streamLog, long sealEpoch, boolean sync) { this.sealEpoch = sealEpoch; this.sync = sync; this.streamLog = streamLog; operationsQueue = new LinkedBlockingQueue<>(); writeRecordTimer = MeterRegistryProvider.getInstance().map(registry -> Timer.builder("logunit.write.timer") .tags("type", "single").register(registry)); writeRecordsTimer = MeterRegistryProvider.getInstance().map(registry -> Timer.builder("logunit.write.timer") .tags("type", "multiple").register(registry)); queueSizeDist = MeterRegistryProvider.getInstance().map(registry -> DistributionSummary .builder("logunit.queue.size") .publishPercentiles(0.50, 0.95, 0.99) .publishPercentileHistogram() .baseUnit("op") .register(registry)); processorService.submit(this::processor); }
Source:
<code>public void save(ExecutionStatus status) { DefaultTransaction transaction = new DefaultTransaction("create"); try { SimpleFeatureSource source = statuses.getFeatureSource(STATUS); if (source instanceof SimpleFeatureStore) { SimpleFeatureStore store = (SimpleFeatureStore) source; store.setTransaction(transaction); SimpleFeature feature = statusToFeature(status); FeatureCollection<SimpleFeatureType, SimpleFeature> featureCollection = DataUtilities .collection(feature); Filter filter = ECQL.toFilter( PROCESS_ID + " = '" + status.getExecutionId() + "'"); store.removeFeatures(filter); store.addFeatures(featureCollection); transaction.commit(); } } catch (IOException e) { <START> e.printStackTrace(); <END> try { transaction.rollback(); } catch (IOException e1) { } } catch (CQLException e) { e.printStackTrace(); } finally { transaction.close(); } }</code><technical_language>Really, test code these, logger instead ;-) in, this happens, other places printStackTrace is called</technical_language>

Target:
public void save(ExecutionStatus status) { DefaultTransaction transaction = new DefaultTransaction("create"); try { SimpleFeatureSource source = statuses.getFeatureSource(fixTableName(STATUS)); if (source instanceof SimpleFeatureStore) { SimpleFeatureStore store = (SimpleFeatureStore) source; store.setTransaction(transaction); SimpleFeature feature = statusToFeature(status); FeatureCollection<SimpleFeatureType, SimpleFeature> featureCollection = DataUtilities .collection(feature); Filter filter = ECQL.toFilter(fixColumnName(PROCESS_ID) + " = '" + status.getExecutionId() + "'"); Filter fixedFilter = fixFilter(filter); store.removeFeatures(fixedFilter); store.addFeatures(featureCollection); transaction.commit(); } } catch (IOException e) { LOGGER.info("failed to save WPS Status " + status.getExecutionId()); LOGGER.log(Level.FINE,"Can not save to table",e); try { transaction.rollback(); } catch (IOException e1) { LOGGER.fine("failed to rollback failed save"); } } catch (CQLException e) { } finally { transaction.close(); } }
Source:
<code>public static <T, U> Collector<T, ?, Optional<Double>> percentRankBy(U value, Function<? super T, ? extends U> function, Comparator<? super U> comparator) { return Collector.of( () -> new ArrayList<U>(), (l, v) -> l.add(function.apply(v)), (l1, l2) -> { l1.addAll(l2); return l1; }, l -> { int size = l.size(); if (size == 0) return Optional.empty(); l.sort(comparator); int index = Collections.binarySearch(l, value, comparator); if (index < 0) index = -index - 1; else while (index > 0 && l.get(index) == l.get(index - 1)) <START> --index; <END> return Optional.of((double) index / (double) size); } ); }</code><technical_language>Good point, making a private method in Agg</technical_language>

Target:
public static <T, U> Collector<T, ?, Optional<Double>> percentRankBy(U value, Function<? super T, ? extends U> function, Comparator<? super U> comparator) { return Collector.of( () -> new ArrayList<U>(), (l, v) -> l.add(function.apply(v)), (l1, l2) -> { l1.addAll(l2); return l1; }, l -> { int size = l.size(); if (size == 0) return Optional.empty(); l.sort(comparator); int index = binarySearchRank(l, value, comparator); return Optional.of((double) index / (double) size); } ); }
Source:
<code>public void decorate(World world, Random random, Chunk source) { int sourceX = (source.getX() << 4) + random.nextInt(16); int sourceZ = (source.getZ() << 4) + random.nextInt(16); int sourceY = flowing ? 4 + random.nextInt(120) : 10 + random.nextInt(108); Block block = world.getBlockAt(sourceX, sourceY, sourceZ); if ((block.getType() == Material.NETHERRACK || block.isEmpty()) && block.getRelative(BlockFace.UP).getType() == Material.NETHERRACK) { int netherrackBlockCount = 0; for (BlockFace face : SIDES) { if (block.getRelative(face).getType() == Material.NETHERRACK) { netherrackBlockCount++; } } int airBlockCount = 0; for (BlockFace face : SIDES) { if (block.getRelative(face).isEmpty()) { airBlockCount++; } } if (netherrackBlockCount == 5 || flowing && airBlockCount == 1 && netherrackBlockCount == 4) { BlockState state = block.getState(); state.setType(Material.LAVA); state.update(true); <START> Bukkit.getScheduler().scheduleSyncDelayedTask(null, new PulseTask((GlowBlock) block), 1); <END> } } }</code><technical_language>this task async</technical_language>

Target:
public void decorate(World world, Random random, Chunk source) { int sourceX = (source.getX() << 4) + random.nextInt(16); int sourceZ = (source.getZ() << 4) + random.nextInt(16); int sourceY = flowing ? 4 + random.nextInt(120) : 10 + random.nextInt(108); Block block = world.getBlockAt(sourceX, sourceY, sourceZ); if ((block.getType() == Material.NETHERRACK || block.isEmpty()) && block.getRelative(BlockFace.UP).getType() == Material.NETHERRACK) { int netherrackBlockCount = 0; for (BlockFace face : SIDES) { if (block.getRelative(face).getType() == Material.NETHERRACK) { netherrackBlockCount++; } } int airBlockCount = 0; for (BlockFace face : SIDES) { if (block.getRelative(face).isEmpty()) { airBlockCount++; } } if (netherrackBlockCount == 5 || flowing && airBlockCount == 1 && netherrackBlockCount == 4) { BlockState state = block.getState(); state.setType(Material.LAVA); state.update(true); new PulseTask((GlowBlock) block, true, 1, true).startPulseTask(); } } }
Source:
<code>public void blockFlooder(final Flooder flooder) throws RuntimeException { try { zooKeeperHolder.get().create().creatingParentsIfNeeded().forPath(createFlooderPath(flooder)); } catch (final KeeperException.NoNodeException nne) { <START> LOG.debug("Flooder does not exist {}", flooder.getName()); <END> } catch (final Exception e) { throw new RuntimeException("Issue occurred while creating node in zk", e); } }</code><technical_language>Wondering is ok for this exception swallowed, thrown</technical_language>

Target:
public void blockFlooder(final Flooder flooder) throws RuntimeException { try { final CuratorFramework curator = zooKeeperHolder.get(); final String path = createFlooderPath(flooder); if (curator.checkExists().forPath(path) == null) { curator.create().creatingParentsIfNeeded().forPath(path); } } catch (final Exception e) { throw new RuntimeException("Issue occurred while creating node in zk", e); } }
Source:
<code>public boolean run(CommandSender sender, Player sender_p, Command cmd, String commandLabel, String[] args, boolean senderIsConsole) { if (args.length < 2) { return false; } Player player = getPlayer(args[0]); if (player == null) { playerMsg(TotalFreedomMod.PLAYER_NOT_FOUND); return true; } if (sender instanceof Player) { if (player == (Player) sender) { playerMsg(ChatColor.RED + "Please, don't try to warn yourself."); return true; } } if (TFM_AdminList.isSuperAdmin(player)) { <START> playerMsg(ChatColor.RED + "You may not report " + player.getName() + ", they are an admin."); <END> return true; } String warnReason = StringUtils.join(ArrayUtils.subarray(args, 1, args.length), " "); player.sendMessage(ChatColor.RED + "[WARNING] " + warnReason); playerMsg(ChatColor.GREEN + "You have successfully warned " + player.getName()); TFM_PlayerData.getPlayerData(player).incrementWarnings(); return true; }</code><technical_language>Check this line, "You REPORT" "You WARN"</technical_language>

Target:
public boolean run(CommandSender sender, Player sender_p, Command cmd, String commandLabel, String[] args, boolean senderIsConsole) { if (args.length < 2) { return false; } Player player = getPlayer(args[0]); if (player == null) { playerMsg(PLAYER_NOT_FOUND); return true; } if (sender instanceof Player) { if (player.equals(sender_p)) { playerMsg(ChatColor.RED + "Please, don't try to warn yourself."); return true; } } if (TFM_AdminList.isSuperAdmin(player)) { playerMsg(ChatColor.RED + "You can not warn admins"); return true; } String warnReason = StringUtils.join(ArrayUtils.subarray(args, 1, args.length), " "); playerMsg(ChatColor.RED + "[WARNING] " + warnReason); playerMsg(ChatColor.GREEN + "You have successfully warned " + player.getName()); TFM_PlayerData.getPlayerData(player).incrementWarnings(); return true; }
Source:
<code>public void onWireComponentDeleted(WireComponent component) { if (!WIRE_ASSET_PID.equals(component.getFactoryPid())) <START> configurations.deleteConfiguration(component.getPid()); <END> configurations.deleteConfiguration(component.getPid()); updateDirtyState(); this.btnGraphDelete.setEnabled(wireComposer.getWireComponentCount() > 0); this.dialogs.setAssetPids(getAssetsNotInComposer()); }</code><technical_language>Hi, give more context this change? 472 473 command</technical_language>

Target:
public void onWireComponentDeleted(WireComponent component) { if (!WIRE_ASSET_PID.equals(component.getFactoryPid())) configurations.deleteConfiguration(component.getPid()); updateDirtyState(); this.btnGraphDelete.setEnabled(wireComposer.getWireComponentCount() > 0); this.dialogs.setAssetPids(getAssetsNotInComposer()); }
Source:
<code>public <T> void executeBlocking(Action<T> action, Handler<Future<T>> blockingCodeHandler, Handler<AsyncResult<T>> resultHandler) { try { orderedInternalPoolExec.execute(() -> { Future<T> res = Future.future(); try { if (blockingCodeHandler != null) { setContext(this); blockingCodeHandler.handle(res); } else { T result = action.perform(); res.complete(result); } } catch (Throwable e) { res.fail(e); } finally { if (blockingCodeHandler != null) { unsetContext(); } } if (resultHandler != null) { runOnContext(v -> res.setHandler(resultHandler)); } <START> }); <END> } catch (RejectedExecutionException ignore) { } }</code><technical_language>agreed this block removed</technical_language>

Target:
public <T> void executeBlocking(Action<T> action, Handler<Future<T>> blockingCodeHandler, Handler<AsyncResult<T>> resultHandler) { try { orderedInternalPoolExec.execute(() -> { Future<T> res = Future.future(); try { if (blockingCodeHandler != null) { setContext(this); blockingCodeHandler.handle(res); } else { T result = action.perform(); res.complete(result); } } catch (Throwable e) { res.fail(e); } if (resultHandler != null) { runOnContext(v -> res.setHandler(resultHandler)); } }); } catch (RejectedExecutionException ignore) { } }
Source:
<code>protected Set<Value.Immutable<?>> api$getVanillaValues() { final Set<Value.Immutable<?>> vanillaValues = super.api$getVanillaValues(); vanillaValues.add(this.canJoinRaid().asImmutable()); vanillaValues.add(this.isCelebrating().asImmutable()); <START> if (this.getRaid().isPresent()) { END> this.raidWave().map(Value::asImmutable).ifPresent(vanillaValues::add); } return vanillaValues; }</code><technical_language>need if statement optional return empty</technical_language>

Target:
protected Set<Value.Immutable<?>> api$getVanillaValues() { final Set<Value.Immutable<?>> values = super.api$getVanillaValues(); values.add(this.canJoinRaid().asImmutable()); values.add(this.celebrating().asImmutable()); this.raidWave().map(Value::asImmutable).ifPresent(values::add); return values; }
Source:
<code>public Object visit(ASTCompilationUnit node, Object data) { methodReportLevel = getProperty(METHOD_REPORT_LEVEL_DESCRIPTOR); classReportLevel = getProperty(CLASS_REPORT_LEVEL_DESCRIPTOR); <START> if (ncssOptions == null) { <END> ncssOptions = MetricOptions.ofOptions(getProperty(NCSS_OPTIONS_DESCRIPTOR)); } super.visit(node, data); return data; }</code><technical_language>Do need this null check here</technical_language>

Target:
public Object visit(ASTCompilationUnit node, Object data) { methodReportLevel = getProperty(METHOD_REPORT_LEVEL_DESCRIPTOR); classReportLevel = getProperty(CLASS_REPORT_LEVEL_DESCRIPTOR); ncssOptions = MetricOptions.ofOptions(getProperty(NCSS_OPTIONS_DESCRIPTOR)); super.visit(node, data); return data; }
Source:
<code>private FixedDoubleBreakdownHistogram(FixedDoubleBreakdownHistogram other) { this.bucketCount = other.bucketCount; this.min = other.min; this.max = other.max; this.indices = new int[other.indices.length]; this.weights = new double[other.weights.length]; this.counts = new long[other.counts.length]; <START> for (int i = 0; i < other.indices.length; i++) { <END> this.indices[i] = other.indices[i]; this.weights[i] = other.weights[i]; this.counts[i] = other.counts[i]; } }</code><technical_language>Arrays.copyOf: this.indices = Arrays.copyOf(other.indices, other.indices.length);</technical_language>

Target:
private FixedDoubleBreakdownHistogram(FixedDoubleBreakdownHistogram other) { this.bucketCount = other.bucketCount; this.min = other.min; this.max = other.max; this.indices = Arrays.copyOf(other.indices, other.indices.length); this.weights = Arrays.copyOf(other.weights, other.weights.length); this.counts = Arrays.copyOf(other.counts, other.counts.length); }
Source:
<code>public TaskStats removeTask(final String taskHostname) { <START> return innerMap.remove(taskHostname); <END> }</code><technical_language>remove taskHostname innerList</technical_language>

Target:
public TaskStats removeTask(final String taskHostname) { innerList.remove(taskHostname); return innerMap.remove(taskHostname); }
Source:
<code>public void actionPerformed(ActionEvent e) { if(e.getSource() == addCertButton){ addCertificate(); } if(e.getSource() == idTable){ showCert.setEnabled(true); } if(e.getSource() == showCert){ idControll.showCertificate(); } if (e.getSource() == createButton) { <START> idControll.setUpData(commonNameField.getText(), organizationUnitField.getText(), <END> organizationField.getText(), countryField.getText(), cityField.getText()); if (certificateSigningRequest.isSelected()) { try { KeyPair keyPair = idControll.createKeyPair(); PKCS10CertificationRequest request = idControll.createCSR(keyPair); PemHelper.saveToPemFile(keyPair, IdentityController.KEY_FILE); PemHelper.saveToPemFile(request, IdentityController.CSR_FILE); JOptionPane.showMessageDialog(null, Res.getString("dialog.certificate.request.has.been.created") + IdentityController.SECURITY_DIRECTORY.toString()); } catch (OperatorCreationException | NoSuchAlgorithmException | IOException | NoSuchProviderException e1) { Log.error("Couldn't create Certificate Signing Request", e1); } } else if (selfSignedCertificate.isSelected()) { try { KeyPair keyPair = idControll.createKeyPair(); PemBuilder pemBuilder = new PemHelper().new PemBuilder(); X509Certificate cert = idControll.createSelfSignedCertificate(idControll.createKeyPair()); pemBuilder.add(keyPair); pemBuilder.add(cert); pemBuilder.saveToPemFile(IdentityController.CERT_FILE); JOptionPane.showMessageDialog(null, Res.getString("dialog.self.signed.certificate.has.been.created") + IdentityController.SECURITY_DIRECTORY.toString()); } catch (NoSuchAlgorithmException | NoSuchProviderException | IOException | OperatorCreationException | CertificateException e1) { Log.error("Couldn't create Self Signed Certificate", e1); } } } }</code><technical_language>move this a dedicated method</technical_language>

Target:
public void actionPerformed(ActionEvent e) { if(e.getSource() == addCertButton){ addCertificate(); } if(e.getSource() == idTable){ showCert.setEnabled(true); } if(e.getSource() == showCert){ idControll.showCertificate(); } if (e.getSource() == createButton) { if (certificateSigningRequest.isSelected()) { createCertificateSignRequest(); } else if (selfSignedCertificate.isSelected()) { createSelfSignedCertificate(); } } }
Source:
<code>private DirectoryUser findDirectoryUser(String directoryName, User user) { DirectoryUser result = null; String namespace = user.getNamespace(); if (user.isSetDomainEntryId()) { result = getUserById(directoryName, namespace, user.getDomainEntryId()); } else if (user.isSetId()) { result = getUserById(directoryName, namespace, user.getId()); } else { if (user.isSetUserName()) { result = getEntity( DirectoryUser.class, SearchType.DirectoryUser, getDirectoryUserSearchPattern( <START> user.getUserName().contains("@") ? user.getUserName().substring(0, user.getUserName().indexOf("@")) : user.getUserName(), <END> user.getNamespace(), directoryName) ); } } return result; }</code><technical_language>indexof? isNameContainsDomain</technical_language>

Target:
private DirectoryUser findDirectoryUser(String directoryName, User user) { DirectoryUser result = null; String namespace = user.getNamespace(); if (user.isSetDomainEntryId()) { result = getUserById(directoryName, namespace, user.getDomainEntryId()); } else if (user.isSetId()) { result = getUserById(directoryName, namespace, user.getId()); } else { if (user.isSetUserName()) { result = getEntity( DirectoryUser.class, SearchType.DirectoryUser, getDirectoryUserSearchPattern( isNameContainsDomain(user) ? user.getUserName().substring(0, user.getUserName().lastIndexOf("@")) : user.getUserName(), user.getNamespace(), directoryName) ); } } return result; }
Source:
<code>public void addWidget(UIWidget element, CCHint hint) { final ComponentWrapper cw = getWrapper(element); final String cStr = ConstraintParser.prepare(hint != null ? hint.cc : ""); <START> AccessController.doPrivileged(new PrivilegedAction<Task>() { <END> @Override public Task run() { ccMap.put(cw, ConstraintParser.parseComponentConstraint(cStr)); return null; } }); wrappers.put(element, cw); children.add(cw); dirty = true; }</code><technical_language>Suggest Object Task</technical_language>

Target:
public void addWidget(UIWidget element, CCHint hint) { final ComponentWrapper cw = getWrapper(element); final String cStr = ConstraintParser.prepare(hint != null ? hint.cc : ""); CC constraint = AccessController.doPrivileged(new PrivilegedAction<CC>() { @Override public CC run() { return ConstraintParser.parseComponentConstraint(cStr); } }); ccMap.put(cw, constraint); wrappers.put(element, cw); children.add(cw); dirty = true; }
Source:
<code>private void updateActionAvailability(GlusterVolumeEntity volumeEntity) { boolean allowStartSessionCommand = true; if(volumeEntity == null) { return; } getNewSessionCommand().setIsAvailable(volumeEntity == null); if(getSelectedItem() == null) { allowStartSessionCommand = false; } else { if(getSelectedItems().size() == 1) { GlusterGeoRepSession selectedSession = (GlusterGeoRepSession)getSelectedItem(); allowStartSessionCommand = selectedSession .getStatus() == GeoRepSessionStatus.NOTSTARTED || selectedSession.getStatus() == GeoRepSessionStatus.STOPPED; } } <START> getNewSessionCommand().setIsAvailable(true); <END> getRemoveSessionCommand().setIsAvailable(false); getStartSessionCommand().setIsExecutionAllowed(allowStartSessionCommand); getStopSessionCommand().setIsAvailable(false); getSessionOptionsCommand().setIsAvailable(false); getViewSessionDetailsCommand().setIsAvailable(false); }</code><technical_language>duplicated</technical_language>

Target:
private void updateActionAvailability(GlusterVolumeEntity volumeEntity) { boolean allowStartSessionCommand = true; if(volumeEntity == null) { return; } if(getSelectedItem() == null) { allowStartSessionCommand = false; } else { if(getSelectedItems().size() == 1) { GlusterGeoRepSession selectedSession = (GlusterGeoRepSession)getSelectedItem(); allowStartSessionCommand = selectedSession .getStatus() == GeoRepSessionStatus.NOTSTARTED || selectedSession.getStatus() == GeoRepSessionStatus.STOPPED; } } getNewSessionCommand().setIsAvailable(true); getRemoveSessionCommand().setIsAvailable(false); getStartSessionCommand().setIsExecutionAllowed(allowStartSessionCommand); getStopSessionCommand().setIsAvailable(false); getSessionOptionsCommand().setIsAvailable(false); getViewSessionDetailsCommand().setIsAvailable(false); getRefreshSessionsCommand().setIsAvailable(true); }
Source:
<code>private void logError(LifecycleListener listener, Exception e) { <START> logger.error("Error for listener " + listener, e); <END> }</code><technical_language>get class of listener</technical_language>

Target:
private void logError(LifecycleListener listener, Exception e) { logger.error("Error for listener " + listener.getClass(), e); }
Source:
<code>public void beforeSend(ServerSession session, Transaction tx, Message message, boolean direct, boolean noAutoCreateQueue) throws ActiveMQException { if (populateValidatedUser != null && !message.containsProperty(Message.HDR_VALIDATED_USER)) { message.messageChanged(); <START> message.putStringProperty(Message.HDR_VALIDATED_USER, populateValidatedUser); <END> } }</code><technical_language>this work AMQ, that, right? need call message.reencode</technical_language>

Target:
public void beforeSend(ServerSession session, Transaction tx, Message message, boolean direct, boolean noAutoCreateQueue) throws ActiveMQException { if (populateValidatedUser != null && !message.containsProperty(Message.HDR_VALIDATED_USER)) { message.messageChanged(); message.putStringProperty(Message.HDR_VALIDATED_USER, populateValidatedUser); message.reencode(); } }
Source:
<code>private Map<String, ArrayList<CommentInfo>> queryComments(GerritRepository gerritRepository, String change_id, String revision_id, IProgressMonitor monitor) { try { monitor.beginTask("Executing query", IProgressMonitor.UNKNOWN); Gerrit gerrit = gerritRepository.instantiateGerrit(); if (gerrit != null) { ListCommentsCommand command = gerrit.getListComments(change_id, revision_id); Map<String, ArrayList<CommentInfo>> res = null; try { res = command.call(); return res; <START> } catch (EGerritException | ClientProtocolException e) { EGerritCorePlugin.logError(e.getMessage()); <END> } } } catch (UnsupportedClassVersionError e) { return null; } finally { monitor.done(); } return null; }</code><technical_language>want display information end-user</technical_language>

Target:
private Map<String, ArrayList<CommentInfo>> queryComments(GerritRepository gerritRepository, String change_id, String revision_id, IProgressMonitor monitor) { try { monitor.beginTask("Executing query", IProgressMonitor.UNKNOWN); Gerrit gerrit = gerritRepository.instantiateGerrit(); if (gerrit != null) { ListCommentsCommand command = gerrit.getListComments(change_id, revision_id); Map<String, ArrayList<CommentInfo>> res = null; try { res = command.call(); return res; } catch (EGerritException e) { EGerritCorePlugin.logError(e.getMessage()); } catch (ClientProtocolException e) { UIUtils.displayInformation(null, TITLE, e.getLocalizedMessage() + "\n " + command.formatRequest()); } } } catch (UnsupportedClassVersionError e) { return null; } finally { monitor.done(); } return null; }
Source:
<code>private static MacOsVersion getMacOsVersion() { if (!SWTUtils.isMac()) { return null; } String osVersion = System.getProperty("os.version"); if (osVersion == null) { return null; } <START> Matcher matcher = Pattern.compile("(\\d+)\\.(\\d+)\\.(\\d+)").matcher(osVersion); <END> if (matcher.matches()) { try { return new MacOsVersion(Integer.parseInt(matcher.group(1)), Integer.parseInt(matcher.group(2)), Integer.parseInt(matcher.group(3))); } catch (NumberFormatException e) { } } return null; }</code><technical_language>Pattern.compile() is meant compile a pattern once, re-use it. If do define a Matcher directly</technical_language>

Target:
private static MacOsVersion getMacOsVersion() { if (!SWTUtils.isMac()) { return null; } String osVersion = System.getProperty("os.version"); if (osVersion == null) { return null; } Matcher matcher = MAC_OS_VERSION_PATTERN.matcher(osVersion); if (matcher.matches()) { try { return new MacOsVersion(Integer.parseInt(matcher.group(1)), Integer.parseInt(matcher.group(2)), Integer.parseInt(matcher.group(3))); } catch (NumberFormatException e) { } } return null; }
Source:
<code>protected final void lockKeyAndCheckOwnership(InvocationContext ctx, Object key) throws InterruptedException { boolean checkForPendingLocks = false; if (!ctx.isInTxScope()) { lockManager.acquireLock(ctx, key); return; } TxInvocationContext txContext = (TxInvocationContext) ctx; final Integer viewId = txContext.getCacheTransaction().getViewId(); if (viewId != null) { checkForPendingLocks = viewId > txTable.getMinViewId(); } log.tracef("Locking key %s, checking for pending locks? %s", key, checkForPendingLocks); if (!checkForPendingLocks) { lockManager.acquireLock(ctx, key); } else { Set<CacheTransaction> tx = txTable.getTransactionsStartedBefore(viewId); long start = System.currentTimeMillis(); long remaining = configuration.getLockAcquisitionTimeout(); for (CacheTransaction ct : tx) { if (!ct.waitForTransactionsToFinishIfHasLock(key, remaining)) { throw new TimeoutException("Could not acquire lock on " + key + " on behalf of transaction " + txContext.getGlobalTransaction() + ". Lock is being held by " + lockManager.getOwner(key)); } final long elapsed = System.currentTimeMillis() - start; <START> remaining = Math.abs(remaining - elapsed); <END> } log.tracef("Finished waiting for other potential lockers, trying to acquire the lock on %s", key); lockManager.acquireLock(ctx, key, remaining); } }</code><technical_language>This right, substracting total elapsed time remaining in loop iteration. clearer if computed "expected end time" start step compute remaining endTime - currentTime</technical_language>

Target:
protected final void lockKeyAndCheckOwnership(InvocationContext ctx, Object key) throws InterruptedException { boolean checkForPendingLocks = false; if (!ctx.isInTxScope()) { lockManager.acquireLock(ctx, key); return; } TxInvocationContext txContext = (TxInvocationContext) ctx; final Integer viewId = txContext.getCacheTransaction().getViewId(); if (viewId != null) { checkForPendingLocks = viewId > txTable.getMinViewId(); } log.tracef("Locking key %s, checking for pending locks? %s", key, checkForPendingLocks); if (!checkForPendingLocks) { lockManager.acquireLock(ctx, key); } else { Set<CacheTransaction> tx = txTable.getTransactionsStartedBefore(viewId); long expectedEndTime = nowMillis() + configuration.getLockAcquisitionTimeout(); for (CacheTransaction ct : tx) { long remaining = expectedEndTime - nowMillis(); if (remaining < 0 || !ct.waitForLockRelease(key, remaining)) throw newTimeoutException(key, txContext); } final long remaining = expectedEndTime - nowMillis(); if (remaining < 0) { throw newTimeoutException(key, txContext); } else { log.tracef("Finished waiting for other potential lockers, trying to acquire the lock on %s", key); lockManager.acquireLock(ctx, key, remaining); } } }
Source:
<code>public CompletableFuture<Void> transactionDataFuture(int expectedTopologyId) { if (transactionDataTopologyId >= expectedTopologyId) <START> return null; <END> if (trace) { log.tracef("Waiting for transaction data for topology %d, current topology is %d", expectedTopologyId, transactionDataTopologyId); } transactionDataLock.lock(); try { if (transactionDataTopologyId >= expectedTopologyId) { return null; } else if (transactionDataTopologyId == expectedTopologyId - 1){ return transactionDataFuture; } else { return transactionDataFuture.thenCompose(nil -> transactionDataFuture(expectedTopologyId)); } } finally { transactionDataLock.unlock(); } }</code><technical_language>This is a NPE in CompletableFuture:969 (the result of function in thenCompose null)</technical_language>

Target:
public CompletableFuture<Void> transactionDataFuture(int expectedTopologyId) { if (transactionDataTopologyId >= expectedTopologyId) return CompletableFutures.completedNull(); if (trace) { log.tracef("Waiting for transaction data for topology %d, current topology is %d", expectedTopologyId, transactionDataTopologyId); } synchronized (this){ if (transactionDataTopologyId >= expectedTopologyId) { return CompletableFutures.completedNull(); } else { return transactionDataFuture.thenCompose(nil -> transactionDataFuture(expectedTopologyId)); } } }
Source:
<code><START> public void init(@Value("${strongbox.security.jwtSecret:secret}") String secret) <END> throws Exception { key = new HmacKey(secret.getBytes("UTF-8")); }</code><technical_language>I assume a good place store this in Configuration class...? (strongbox.xml)</technical_language>

Target:
public void init(@Value("${strongbox.security.jwtSecret:secret}") String secret) throws UnsupportedEncodingException { key = new HmacKey(secret.getBytes("UTF-8")); }