auphong2707/dl4se-code-review-dataset huggingface dataset:
Source:
<code>public CompletionStage<TimeSeriesResult> executeQuery(final String query) throws ExecutionException { <START> throw new ExecutionException(Collections.singletonList("Queries are not enabled")); <END> }</code><technical_language>This is a good example of a code (structured language agnostic error description)</technical_language>

Target:
public CompletionStage<TimeSeriesResult> executeQuery(final String query) throws QueryExecutionException { final QueryProblem notEnabledProblem = new QueryProblem.Builder().setProblemCode("NOT_ENABLED").build(); throw new QueryExecutionException("Queries are not enabled", ImmutableList.of(notEnabledProblem)); }
Source:
<code>public void validate(String type, GenericProperties<?> genericProperties, Settings settings) { TypeSettings typeSettings = settingsForType(type); Map<String, Setting<?>> allSettings = typeSettings.all(); GenericProperties<?> dynamicProperties = typeSettings.dynamicProperties(genericProperties); if (!dynamicProperties.isEmpty()) { allSettings = Maps.newHashMap(allSettings); for (String key : dynamicProperties.properties().keySet()) { allSettings.put(key, Setting.simpleString(key)); } } Set<String> names = settings.keySet(); Sets.SetView<String> missingRequiredSettings = Sets.difference(typeSettings.required().keySet(), names); if (!missingRequiredSettings.isEmpty()) { throw new IllegalArgumentException( String.format( Locale.ENGLISH, "The following required parameters are missing to create a repository of type \"%s\": [%s]", type, <START> Joiner.on(", ").join(missingRequiredSettings))); <END> } }</code><technical_language>suggestion String.join(", ", missingRequiredSettings);</technical_language>

Target:
public void validate(String type, GenericProperties<?> genericProperties, Settings settings) { TypeSettings typeSettings = settingsForType(type); Map<String, Setting<?>> allSettings = typeSettings.all(); GenericProperties<?> dynamicProperties = typeSettings.dynamicProperties(genericProperties); if (!dynamicProperties.isEmpty()) { allSettings = Maps.newHashMap(allSettings); for (String key : dynamicProperties.properties().keySet()) { allSettings.put(key, Setting.simpleString(key)); } } Set<String> names = settings.keySet(); Sets.SetView<String> missingRequiredSettings = Sets.difference(typeSettings.required().keySet(), names); if (!missingRequiredSettings.isEmpty()) { throw new IllegalArgumentException( String.format( Locale.ENGLISH, "The following required parameters are missing to create a repository of type \"%s\": [%s]", type, String.join(", ", missingRequiredSettings)) ); } }
Source:
<code>private void validateFilter() { String filter = getProperty(NotificationProperties.FILTER); if (!StringUtils.isEmpty(filter)) { String[] filterElements = filter.split("\\s+"); for (String filterElement : filterElements) { if (!StringUtils.isEmpty(filterElement)) { <START> if (!FILTER_ELEMENT_PATTERN.matcher(filterElement).matches()) { <END> throw new IllegalArgumentException( String.format("%s Illegal value for %s , (%s)", GENERIC_MESSAGE, FILTER, filterElement)); } } } } }</code><technical_language>this is required, parse provided class, more, duplication</technical_language>

Target:
private void validateFilter() { String filter = getProperty(NotificationProperties.FILTER); if (!StringUtils.isEmpty(filter)) { String[] filterElements = filter.split("\\s+"); for (String filterElement : filterElements) { if (!StringUtils.isEmpty(filterElement)) { if (!FirstMatchSimpleFilter.PARSE_PATTERN.matcher(filterElement).matches()) { throw new IllegalArgumentException( String.format("%s Illegal value for %s , (%s)", GENERIC_MESSAGE, FILTER, filterElement)); } } } } }
Source:
<code>private void initNetworkProvidersList() { startProgress(); <START> getNetworkProviders().setItems(new ArrayList()); <END> AsyncDataProvider.getInstance().getAllProvidersByType(new AsyncQuery<>(result -> { stopProgress(); List<Provider<OpenstackNetworkProviderProperties>> providers = (List) result; providers.add(0, null); getNetworkProviders().setItems(providers); getNetworkProviders().setSelectedItem(null); }), ProviderType.OPENSTACK_NETWORK, ProviderType.EXTERNAL_NETWORK); }</code><technical_language>> I understand, 'HostModel.cluster_SelectedItemChanged' > is > > place calls 'setDefaultProviderById'. I understand > > > Correct. > > > edit host matter providers tab is > disabled > > anyway. 'add host' flow matter. > > > Correct. > > > me, I miss something, if default > > dc/cluster (I changing manually opening > > dialog), 'defaultProviderId' 'null' if is > a > > default provider id cluster. > > > > No, 'HostModel.cluster_SelectedItemChanged' is called for > initial > data, too. > is used, in this stage providers list initialized. 'setDefaultProviderById' effect. > > I solve - > > 1. adding a 'null' check 'setDefaultProviderById' > > done. 'null' is a valid for parameter > 'defaultProviderId', if cluster default provider. > > > 2. Setting 'setDefaultProviderById' callback of async > > query (once network providers initialized). need > > > pass cluster HostNetworkProviderModel achieve this. > > > This cluster required updated change in > theHostNetworkProviderModel, default provider</technical_language>

Target:
private void initNetworkProvidersList() { startProgress(); AsyncDataProvider.getInstance().getAllProvidersByType(new AsyncQuery<>(result -> { stopProgress(); List<Provider<OpenstackNetworkProviderProperties>> providers = (List) result; providers.add(0, null); getNetworkProviders().setItems(providers); getNetworkProviders().setSelectedItem(null); }), ProviderType.OPENSTACK_NETWORK, ProviderType.EXTERNAL_NETWORK); }
Source:
<code>public VariantWithSamplesAndAnnotation(IVariant variant, List<String> sampleNames) { super(variant.getChromosome(), variant.getStart(), variant.getEnd(), variant.getReference(), variant.getAlternate()); this.sourceEntries = new HashMap<>(); for (IVariantSourceEntry entry : variant.getSourceEntries()) { <START> VariantSourceEntryWithSampleNames entrySN = new VariantSourceEntryWithSampleNames(entry, sampleNames); <END> this.sourceEntries.put(getSourceEntryIndex(entrySN), entrySN); } }</code><technical_language>This variable name follow standards</technical_language>

Target:
public VariantWithSamplesAndAnnotation(IVariant variant, List<String> sampleNames) { super(variant.getChromosome(), variant.getStart(), variant.getEnd(), variant.getReference(), variant.getAlternate()); this.sourceEntries = new HashMap<>(); for (IVariantSourceEntry entry : variant.getSourceEntries()) { VariantSourceEntryWithSampleNames entryWithSampleNames = new VariantSourceEntryWithSampleNames(entry, sampleNames); this.sourceEntries.put(getSourceEntryIndex(entryWithSampleNames), entryWithSampleNames); } }
Source:
<code>public static void main(String[] args) throws Exception { log.info("Starting Application... [params=" + args[0] + "]"); String[] params = args[0].split(","); Class<?> clazz = Class.forName(params[0]); IgniteAwareApplication app = (IgniteAwareApplication)clazz.getConstructor().newInstance(); ObjectMapper mapper = new ObjectMapper(); <START> ObjectReader reader = mapper.readerFor(Map.class); <END> JsonNode jsonNode = params.length > 2 ? reader.readTree(new String(Base64.getDecoder().decode(params[2]), UTF_8)) : mapper.createObjectNode(); ((ObjectNode)jsonNode).put("cfgPath", params[1]); app.start(jsonNode); }</code><technical_language>mapper.readTree(new String(Base64.getDecoder().decode(params[2]), UTF_8))</technical_language>

Target:
public static void main(String[] args) throws Exception { log.info("Starting Application... [params=" + args[0] + "]"); String[] params = args[0].split(","); Class<?> clazz = Class.forName(params[0]); IgniteAwareApplication app = (IgniteAwareApplication)clazz.getConstructor().newInstance(); ObjectMapper mapper = new ObjectMapper(); JsonNode jsonNode = params.length > 2 ? mapper.readTree(Base64.getDecoder().decode(params[2])) : mapper.createObjectNode(); ((ObjectNode)jsonNode).put("cfgPath", params[1]); app.start(jsonNode); }
Source:
<code>private int getNextSeparatorAt(String fullId, int start) { String propertyId = fullId.substring(start); int nextObjectSeparator = propertyId.indexOf(OBJECT_SEPARATOR); nextObjectSeparator = nextObjectSeparator >= 0 ? nextObjectSeparator : fullId.length() - start; int nextMapSeparator = propertyId.indexOf(MAP_SEPARATOR[0]); nextMapSeparator = nextMapSeparator >= 0 ? nextMapSeparator : fullId .length() - start; int nextListSeparator = propertyId.indexOf(LIST_SEPARATOR[0]); nextListSeparator = nextListSeparator >= 0 ? nextListSeparator : fullId .length() - start; <START> return Math.min(nextListSeparator, <END> Math.min(nextMapSeparator, nextObjectSeparator)) + start; }</code><technical_language>This method simplified 1 line a regex. Man, I wish I knew regex..</technical_language>

Target:
private int getNextSeparatorAt(String fullId, int start) { String propertyId = fullId.substring(start); int nextSeparator = fullId.length(); Pattern pattern = Pattern.compile(Pattern.quote(OBJECT_SEPARATOR) + "|" + Pattern.quote(LIST_SEPARATOR[0]) + "|" + Pattern.quote(MAP_SEPARATOR[0])); Matcher matcher = pattern.matcher(propertyId); if (matcher.find()) { nextSeparator = matcher.start() + start; } return nextSeparator; }
Source:
<code>public Supplier<ValueType> getPipelined(final Object key, final Pipeline pipeline) { final String redisKey = generateRedisKey(turnObjectIntoKeyType(key)); <START> final Response<String> valAsString; valAsString = pipeline.get(redisKey); <END> pipeline.expire(redisKey, valueTtl); return new ValueSupplier(valAsString); }</code><technical_language>Is a reason this line? Genuinely asking</technical_language>

Target:
public Supplier<ValueType> getPipelined(final Object key, final Pipeline pipeline) { final String redisKey = generateRedisKey(turnObjectIntoKeyType(key)); final Response<String> valAsString = pipeline.get(redisKey); pipeline.expire(redisKey, valueTtl); return new ValueSupplier(valAsString); }
Source:
<code>public WatchableInputStream(@Nonnull InputStream delegate) { <START> Objects.requireNonNull(delegate, "null pass passed into a WatchableInputStream"); <END> this.delegate = delegate; this.completionFuture = new Future(); }</code><technical_language>suggestion Objects.requireNonNull(delegate, "null passed a WatchableInputStream");</technical_language>

Target:
public WatchableInputStream(@Nonnull InputStream delegate) { Objects.requireNonNull(delegate, "null was passed into a WatchableInputStream"); this.delegate = delegate; this.completionFuture = new Future(); }
Source:
<code>private void onChannelFailure(ClientChannelHolder hld, ClientChannel ch) { <START> if (hld != null && ch != null && ch == hld.ch) <END> hld.closeChannel(); rollCurrentChannel(hld); chFailLsnrs.forEach(Runnable::run); }</code><technical_language>hld null</technical_language>

Target:
private void onChannelFailure(ClientChannelHolder hld, ClientChannel ch) { if (ch != null && ch == hld.ch) hld.closeChannel(); chFailLsnrs.forEach(Runnable::run); rollCurrentChannel(hld); if (scheduledChannelsReinit.get() && !partitionAwarenessEnabled) channelsInit(); }
Source:
<code>public Map getConfigurationMap(String namespace) throws CarbonConfigurationException { loadDeploymentConfiguration(configFileReader); if (deploymentConfigs.containsKey(namespace)) { String jsonConfigString = deploymentConfigs.get(namespace); String jsonProcessedString = processPlaceholder(jsonConfigString); jsonProcessedString = org.wso2.carbon.kernel.utils.Utils.substituteVariables(jsonProcessedString); Yaml yaml = new Yaml(); return yaml.loadAs(jsonProcessedString, Map.class); } <START> logger.error("configuration doesn't exist for the namespace: " + namespace + " in deployment yaml. hence " + <END> "return null object"); return null; }</code><technical_language>letter period need uppercase: "hence"</technical_language>

Target:
public Map getConfigurationMap(String namespace) throws CarbonConfigurationException { loadDeploymentConfiguration(configFileReader); if (deploymentConfigs.containsKey(namespace)) { String configString = deploymentConfigs.get(namespace); String processedString = processPlaceholder(configString); processedString = org.wso2.carbon.kernel.utils.Utils.substituteVariables(processedString); Yaml yaml = new Yaml(); return yaml.loadAs(processedString, Map.class); } logger.error("configuration doesn't exist for the namespace: " + namespace + " in deployment yaml. Hence " + "return null object"); return null; }
Source:
<code>private List<GroupReference> suggestAccountGroup( @Nullable final ProjectControl projectControl, final String query, final int limit) { final int n = limit <= 0 ? 10 : Math.min(limit, 10); List<GroupReference> out = Lists.newArrayListWithCapacity(n); for (GroupReference g : groupBackend.suggest(query)) { try { if (groupControlFactory.controlFor(g.getUUID()).isVisible() <START> || (GroupBackends.isExactSuggestion(g, query) <END> && (projectControl != null) && projectControl.isOwnerAnyRef())) { out.add(g); if (out.size() == n) { break; } } } catch (NoSuchGroupException e) { continue; } } return out; }</code><technical_language>want consider like: || (projectControl != null && projectControl.isOwnerAnyRef() && group name appears in existing rule in project) This complete a name in UI, normally. in... "group somereally-longname-i-dontwanttotype" read permission i want give push permission branch. I guess copy paste in web UI point a reason reject this change. consider nicer for user use</technical_language>

Target:
private List<GroupReference> suggestAccountGroup( @Nullable final ProjectControl projectControl, final String query, final int limit) { final int n = limit <= 0 ? 10 : Math.min(limit, 10); List<GroupReference> out = Lists.newArrayListWithCapacity(n); for (GroupReference g : groupBackend.suggest(query)) { try { if (groupControlFactory.controlFor(g.getUUID()).isVisible() || (GroupBackends.isExactSuggestion(g, query) && projectControl != null && projectControl.isOwnerAnyRef())) { out.add(g); if (out.size() == n) { break; } } } catch (NoSuchGroupException e) { continue; } } return out; }
Source:
<code>public Word getWordFromLocal(String serverID, String langCode) { SQLiteDatabase db = openOrCreateWordsDatebase(langCode); String[] columns = new String[] { "*" }; <START> Cursor cursor = db.query("words", columns, "serverID='" + serverID <END> + "'", null, null, null, null); Word word = null; if (cursor.moveToFirst()) { word = new Word(); word.serverID = cursor.getString(cursor.getColumnIndex("serverID")); word.label = cursor.getString(cursor.getColumnIndex("label")); word.languageCode = cursor.getString(cursor .getColumnIndex("languageCode")); word.url = cursor.getString(cursor.getColumnIndex("url")); word.latitude = cursor.getString(cursor.getColumnIndex("latitude")); word.longitude = cursor.getString(cursor .getColumnIndex("longtitude")); word.imageURL = cursor.getString(cursor.getColumnIndex("imageURL")); word.shortDesc = cursor.getString(cursor .getColumnIndex("shortDesc")); word.category = cursor.getInt(cursor.getColumnIndex("category")); } return word; }</code><technical_language>rawQuery</technical_language>

Target:
public Word getWordFromLocal(String serverID, String langCode) { SQLiteDatabase db = openOrCreateWordsDatebase(langCode); Cursor cursor = db.rawQuery("select * from words where serverID = ?", new String[] { serverID }); Word word = null; if (cursor.moveToFirst()) { word = new Word(); word.serverID = cursor.getString(cursor.getColumnIndex("serverID")); word.label = cursor.getString(cursor.getColumnIndex("label")); word.languageCode = cursor.getString(cursor.getColumnIndex("languageCode")); word.url = cursor.getString(cursor.getColumnIndex("url")); word.latitude = cursor.getString(cursor.getColumnIndex("latitude")); word.longitude = cursor.getString(cursor.getColumnIndex("longtitude")); word.imageURL = cursor.getString(cursor.getColumnIndex("imageURL")); word.shortDesc = cursor.getString(cursor.getColumnIndex("shortDesc")); word.category = cursor.getInt(cursor.getColumnIndex("category")); } cursor.close(); return word; }
Source:
<code>public final void shootAlienBullets() { <START> for (int i = 0; i < alienWave.getAliens().size(); i++) { <END> if (Math.random() < (alienWave.getAliens().get(i).getBulletChance() * game.getTickrate())) { Bullet bullet = alienWave.getAliens().get(i).shootBullet(60); game.getBullets().add(bullet); String logMessage = "Alien shot bullet at X: " + bullet.getXCoor() + "\tY: " + bullet.getYCoor(); Game.getLogger().log(logMessage, LogEvent.Type.TRACE); } } }</code><technical_language>iterator here, this code easier understand. This is applicable some other parts of code. for example: for(Alien alien : alienWave.getAliens());</technical_language>

Target:
public final void shootAlienBullets() { for (Alien alien : alienWave.getAliens()) { if (Math.random() < (alien.getBulletChance() * game.getTickrate())) { Bullet bullet = alien.shootBullet(60); game.getBullets().add(bullet); String logMessage = "Alien shot bullet at X: " + bullet.getXCoor() + "\tY: " + bullet.getYCoor(); Game.getLogger().log(logMessage, LogEvent.Type.TRACE); } } }
Source:
<code>private static boolean rollPendingDraftsIgnorePostIdListIfNeeded(){ String idListString = getString(DeletablePrefKey.PENDING_DRAFTS_NOTIFICATION_IGNORE_LIST, ""); boolean rolled = false; if (!TextUtils.isEmpty(idListString)) { <START> List<String> items = new ArrayList(Arrays.asList(idListString.split("\\s*,\\s*"))); <END> if (items.size() > MAX_PENDING_DRAFTS_AMOUNT) { items.remove(0); idListString = TextUtils.join(",", items); setString(DeletablePrefKey.PENDING_DRAFTS_NOTIFICATION_IGNORE_LIST, idListString); rolled = true; } } return rolled; }</code><technical_language>this other in List<String> items = Arrays.asList(idListString.split(","));</technical_language>

Target:
private static boolean rollPendingDraftsIgnorePostIdListIfNeeded(){ String idListString = getString(DeletablePrefKey.PENDING_DRAFTS_NOTIFICATION_IGNORE_LIST, ""); boolean rolled = false; if (!TextUtils.isEmpty(idListString)) { List<String> items = new ArrayList(Arrays.asList(idListString.split(","))); if (items.size() > MAX_PENDING_DRAFTS_AMOUNT) { items.remove(0); idListString = TextUtils.join(",", items); setString(DeletablePrefKey.PENDING_DRAFTS_NOTIFICATION_IGNORE_LIST, idListString); rolled = true; } } return rolled; }
Source:
<code>public static void main(String args[]) { try { VerifiableProperties verifiableProperties = StoreToolsUtil.getVerifiableProperties(args); DumpReplicaTokenTool dumpReplicaTokenTool = new DumpReplicaTokenTool(verifiableProperties); dumpReplicaTokenTool.dumpReplicaToken(); <START> } catch (Exception e) { <END> logger.error("Closed with exception ", e); } }</code><technical_language>exception need caught</technical_language>

Target:
public static void main(String args[]) throws Exception { VerifiableProperties verifiableProperties = StoreToolsUtil.getVerifiableProperties(args); DumpReplicaTokenTool dumpReplicaTokenTool = new DumpReplicaTokenTool(verifiableProperties); dumpReplicaTokenTool.dumpReplicaToken(); }
Source:
<code><START> private String getIsoDateRangeFromEpoch(String value) { <END> if (value.indexOf('/') >= 0) { String dates[] = value.split("/", 2); Instant instantFrom = instantFromEpoch(dates[0]); Instant instantTo = instantFromEpoch(dates[1]); String fromDate = ""; String toDate = ""; if (instantFrom != null) { fromDate = instantFrom.toString(); } if (instantTo != null) { toDate = instantTo.toString(); } return fromDate + '/' + toDate; } return null; }</code><technical_language>this return null, I a good idea annotate return type javax.annotation.Nullable</technical_language>

Target:
private String getIsoDateRangeFromEpoch(String value) { if (value.indexOf('/') >= 0) { String dates[] = value.split("/", 2); Instant instantFrom = instantFromEpoch(dates[0]); Instant instantTo = instantFromEpoch(dates[1]); final String fromDate = (instantFrom != null) ? instantFrom.toString() : ""; final String toDate = (instantTo != null) ? instantTo.toString() : ""; return fromDate + '/' + toDate; } return null; }
Source:
<code>public String exportFinances(String path, String format) { String report; try { BufferedWriter writer = Files.newBufferedWriter(Paths.get(path)); CSVPrinter csvPrinter = new CSVPrinter(writer, CSVFormat.DEFAULT.withHeader("Date", "Category", "Description", "Amount")); <START> SimpleDateFormat df = new SimpleDateFormat("MM/dd/yyyy"); <END> for (int i = 0; i < transactions.size(); i++) { csvPrinter.printRecord( df.format(transactions.get(i).getDate()), transactions.get(i).getCategoryName(), transactions.get(i).getDescription(), transactions.get(i).getAmount() ); } csvPrinter.flush(); csvPrinter.close(); report = transactions.size() + " " + resourceMap.getString("FinanceExport.text"); } catch(IOException ioe) { MekHQ.getLogger().log(getClass(), "exportFinances", LogLevel.INFO, "Error exporting finances to " + format); report = "Error exporting finances. See log for details."; } return report; }</code><technical_language>chance get International standard YYYY-MM-DD instead of format? EDIT: Nevermind, I hardcoded this in other places unrelated this PR. follow existing patterns for date format issue addressed separately globally elsewhere</technical_language>

Target:
public String exportFinances(String path, String format) { String report; try { BufferedWriter writer = Files.newBufferedWriter(Paths.get(path)); CSVPrinter csvPrinter = new CSVPrinter(writer, CSVFormat.DEFAULT.withHeader("Date", "Category", "Description", "Amount", "RunningTotal")); SimpleDateFormat df = new SimpleDateFormat("MM/dd/yyyy"); int running_total = 0; for (int i = 0; i < transactions.size(); i++) { running_total += transactions.get(i).getAmount(); csvPrinter.printRecord( df.format(transactions.get(i).getDate()), transactions.get(i).getCategoryName(), transactions.get(i).getDescription(), transactions.get(i).getAmount(), running_total ); } csvPrinter.flush(); csvPrinter.close(); report = transactions.size() + " " + resourceMap.getString("FinanceExport.text"); } catch(IOException ioe) { MekHQ.getLogger().log(getClass(), "exportFinances", LogLevel.INFO, "Error exporting finances to " + format); report = "Error exporting finances. See log for details."; } return report; }
Source:
<code>private View render(LayoutInflater inflater, Activity activity, ViewGroup parent, DisplayMode mode) { View container = inflater.inflate(R.layout.collection_udf_element_row, parent, false); TextView labelView = (TextView) container.findViewById(R.id.primary_text); TextView secondaryTextView = (TextView) container.findViewById(R.id.secondary_text); TextView sortTextView = (TextView) container.findViewById(R.id.sort_key_field); labelView.setText(label); List<String> secondaryText = new ArrayList<>(); for (String key : nameToType.keySet()) { String formattedValue = formatSubValue(key); if (sortKey.equals(key)) { sortTextView.setText(formattedValue); } else { secondaryText.add(formattedValue); } } secondaryTextView.setText(Joiner.on('\n').join(secondaryText)); View chevron = container.findViewById(R.id.chevron); <START> if (mode == DisplayMode.VIEW) { <END> chevron.setVisibility(View.GONE); } else if (udfDef.isEditable()) { chevron.setVisibility(View.VISIBLE); container.setOnClickListener(v -> { Intent intent = new Intent(activity, UDFCollectionEditActivity.class); intent.putParcelableArrayListExtra(UDFCollectionEditActivity.UDF_DEFINITIONS, newArrayList(udfDef)); intent.putExtra(UDFCollectionEditActivity.INITIAL_VALUE, value.toString()); intent.putExtra(UDFCollectionEditActivity.TAG, tag); activity.startActivityForResult(intent, TreeEditDisplay.FIELD_ACTIVITY_REQUEST_CODE); }); } return container; }</code><technical_language>if mode == DisplayMode.EDIT && !udfDef.isEditable(), this fail hide chevron</technical_language>

Target:
private View render(LayoutInflater inflater, Activity activity, ViewGroup parent, DisplayMode mode) { View container = inflater.inflate(R.layout.collection_udf_element_row, parent, false); TextView labelView = (TextView) container.findViewById(R.id.primary_text); TextView secondaryTextView = (TextView) container.findViewById(R.id.secondary_text); TextView sortTextView = (TextView) container.findViewById(R.id.sort_key_field); labelView.setText(label); List<String> secondaryText = new ArrayList<>(); for (String key : subFieldDefinitionsByName.keySet()) { String formattedValue = formatSubValue(key); if (sortKey.equals(key)) { sortTextView.setText(formattedValue); } else { secondaryText.add(formattedValue); } } secondaryTextView.setText(Joiner.on('\n').join(secondaryText)); View chevron = container.findViewById(R.id.chevron); if (udfDef.isEditable()) { chevron.setVisibility(View.VISIBLE); container.setOnClickListener(v -> { Intent intent = new Intent(activity, UDFCollectionEditActivity.class); intent.putParcelableArrayListExtra(UDFCollectionEditActivity.UDF_DEFINITIONS, newArrayList(udfDef)); intent.putExtra(UDFCollectionEditActivity.INITIAL_VALUE, value.toString()); intent.putExtra(UDFCollectionEditActivity.TAG, tag); activity.startActivityForResult(intent, TreeEditDisplay.FIELD_ACTIVITY_REQUEST_CODE); }); } return container; }
Source:
<code>private void doAddReviewer() { <START> final String userNameOrEmailOrGroupName = addMemberBox.getText(); <END> if (userNameOrEmailOrGroupName.length() == 0) { return; } addMemberBox.setEnabled(false); final List<String> reviewers = new ArrayList<String>(); reviewers.add(userNameOrEmailOrGroupName); addReviewers(reviewers, false); }</code><technical_language>I "reviewer" (instead of userNameOrEmailOrGroupName)? reviewerId</technical_language>

Target:
private void doAddReviewer() { final String reviewer = addMemberBox.getText(); if (reviewer.length() == 0) { return; } addMemberBox.setEnabled(false); final List<String> reviewers = new ArrayList<String>(); reviewers.add(reviewer); addReviewers(reviewers, false); }
Source:
<code>public Response add(Host host) { validateParameters(host, "name", "address"); VdsStatic staticHost = getMapper(Host.class, VdsStatic.class).map(host, null); staticHost.setClusterId(getClusterId(host)); AddVdsActionParameters addParams = new AddVdsActionParameters(staticHost, host.getRootPassword()); if (host.isSetOverrideIptables()) { addParams.setOverrideFirewall(host.isOverrideIptables()); } else { <START> addParams.setOverrideFirewall(true); <END> } addParams.setHostedEngineDeployConfiguration(HostResourceParametersUtil.getHostedEngineDeployConfiguration(this)); addParams = (AddVdsActionParameters) getMapper (Host.class, VdsOperationActionParameters.class).map(host, addParams); return performCreate(VdcActionType.AddVds, addParams, new QueryIdResolver<Guid>(VdcQueryType.GetVdsByVdsId, IdQueryParameters.class)); }</code><technical_language>I default changed in AddVdsActoinParameters class, in backend, in API</technical_language>

Target:
public Response add(Host host) { validateParameters(host, "name", "address"); VdsStatic staticHost = getMapper(Host.class, VdsStatic.class).map(host, null); staticHost.setClusterId(getClusterId(host)); AddVdsActionParameters addParams = new AddVdsActionParameters(staticHost, host.getRootPassword()); if (host.isSetOverrideIptables()) { addParams.setOverrideFirewall(host.isOverrideIptables()); } addParams.setHostedEngineDeployConfiguration(HostResourceParametersUtil.getHostedEngineDeployConfiguration(this)); addParams = (AddVdsActionParameters) getMapper (Host.class, VdsOperationActionParameters.class).map(host, addParams); return performCreate(VdcActionType.AddVds, addParams, new QueryIdResolver<Guid>(VdcQueryType.GetVdsByVdsId, IdQueryParameters.class)); }
Source:
<code>public void write(byte[] source, int offset, int len) throws IOException { S3ADataBlocks.validateWriteArgs(source, offset, len); if (len == 0) { return; } <START> acquireLock(true); <END> try { innerWrite(source, offset, len); } catch (IOException ex) { throw stateModel.enterErrorState(ex); } finally { stateModel.releaseLock(); } }</code><technical_language>This lock throw. try finally block unlock</technical_language>

Target:
public void write(byte[] source, int offset, int len) throws IOException { S3ADataBlocks.validateWriteArgs(source, offset, len); if (len == 0) { return; } acquireLock(true); try { innerWrite(source, offset, len); } catch (IOException ex) { throw enterErrorState(ex); } finally { releaseLock(); } }
Source:
<code><START> void monitorPendingAddOps() { <END> int timedOut = 0; for (PendingAddOp op : pendingAddOps) { if (op.maybeTimeout()) { timedOut++; } } LOG.info("Timed out add ops", timedOut); }</code><technical_language>this private if is outside</technical_language>

Target:
private void monitorPendingAddOps() { int timedOut = 0; for (PendingAddOp op : pendingAddOps) { if (op.maybeTimeout()) { timedOut++; } } if (timedOut > 0) { LOG.info("Timed out add ops", timedOut); } }
Source:
<code>public static void disablePrinting() { try (PrintStream ps = new PrintStream(new NullOutputStream())) { <START> System.setOut(ps); <END> System.setErr(ps); } }</code><technical_language>sense restore in class method</technical_language>

Target:
public static void disablePrinting() { outPS = System.out; errPS = System.err; try (PrintStream ps = new PrintStream(new NullOutputStream())) { System.setOut(ps); System.setErr(ps); } }
Source:
<code>public boolean equals(Object obj) { if (this == obj) { return true; } if (obj == null) { return false; } if (getClass() != obj.getClass()) { return false; } SecurityConfig other = (SecurityConfig) obj; if (clientBlockUnmappedActions != other.clientBlockUnmappedActions) { return false; } if (clientPermissionConfigs == null) { if (other.clientPermissionConfigs != null) { return false; } } else if (!clientPermissionConfigs.equals(other.clientPermissionConfigs)) { return false; } if (clientPolicyConfig == null) { if (other.clientPolicyConfig != null) { return false; } } else if (!clientPolicyConfig.equals(other.clientPolicyConfig)) { return false; } <START> if (clientRealm == null) { if (other.clientRealm != null) { return false; } } else if (!clientRealm.equals(other.clientRealm)) { return false; } if (enabled != other.enabled) { return false; } if (memberRealm == null) { if (other.memberRealm != null) { return false; } } else if (!memberRealm.equals(other.memberRealm)) { return false; } if (onJoinPermissionOperation != other.onJoinPermissionOperation) { return false; } if (realmConfigs == null) { if (other.realmConfigs != null) { return false; } } else if (!realmConfigs.equals(other.realmConfigs)) { return false; } if (securityInterceptorConfigs == null) { if (other.securityInterceptorConfigs != null) { return false; } } else if (!securityInterceptorConfigs.equals(other.securityInterceptorConfigs)) { return false; } <END> return true; }</code><technical_language>I here</technical_language>

Target:
public boolean equals(Object obj) { if (this == obj) { return true; } if (obj == null) { return false; } if (getClass() != obj.getClass()) { return false; } SecurityConfig other = (SecurityConfig) obj; return clientBlockUnmappedActions == other.clientBlockUnmappedActions && Objects.equals(clientPermissionConfigs, other.clientPermissionConfigs) && Objects.equals(clientPolicyConfig, other.clientPolicyConfig) && Objects.equals(clientRealm, other.clientRealm) && enabled == other.enabled && Objects.equals(memberRealm, other.memberRealm) && onJoinPermissionOperation == other.onJoinPermissionOperation && Objects.equals(realmConfigs, other.realmConfigs) && Objects.equals(securityInterceptorConfigs, other.securityInterceptorConfigs); }
Source:
<code>void internalStopRiver() { logger.info("Stopping river {}", riverName.getName()); try { if (startupThread != null) { startupThread.interrupt(); startupThread = null; } for (Thread thread : tailerThreads) { thread.interrupt(); thread = null; } tailerThreads.clear(); if (indexerThread != null) { indexerThread.interrupt(); indexerThread = null; <START> } <END> } catch (Throwable t) { logger.error("Failed to stop river {}", t, riverName.getName()); } finally { this.context.setStatus(Status.STOPPED); } }</code><technical_language>useful a log message successfully stopped</technical_language>

Target:
void internalStopRiver() { logger.info("Stopping river {}", riverName.getName()); try { if (startupThread != null) { startupThread.interrupt(); startupThread = null; } for (Thread thread : tailerThreads) { thread.interrupt(); thread = null; } tailerThreads.clear(); if (indexerThread != null) { indexerThread.interrupt(); indexerThread = null; } logger.info("Stopped river {}", riverName.getName()); } catch (Throwable t) { logger.error("Failed to stop river {}", t, riverName.getName()); } finally { this.context.setStatus(Status.STOPPED); } }
Source:
<code>static Pair<byte[], Integer> findTandemRepeatUnits(final byte[] readBases, final int offset) { int maxBW = 0; <START> byte[] bestBWRepeatUnit = {readBases[offset]}; <END> for (int str = 1; str <= MAX_STR_UNIT_LENGTH; str++) { if (offset+1-str < 0) { break; } maxBW = GATKVariantContextUtils.findNumberOfRepetitions(readBases, offset - str + 1, str , readBases, 0, offset + 1, false); if (maxBW > 1) { bestBWRepeatUnit = Arrays.copyOfRange(readBases, offset - str + 1, offset + 1); break; } } byte[] bestRepeatUnit = bestBWRepeatUnit; int maxRL = maxBW; if (offset < readBases.length-1) { byte[] bestFWRepeatUnit = {readBases[offset+1]}; int maxFW = 0; final byte[] testString = Arrays.copyOfRange(readBases, 0, offset + 1); for (int str = 1; str <= MAX_STR_UNIT_LENGTH; str++) { if (offset+str+1 > readBases.length) { break; } maxFW = GATKVariantContextUtils.findNumberOfRepetitions(readBases, offset + 1, str, readBases, offset + 1, readBases.length-offset -1, true); if (maxFW > 1) { bestFWRepeatUnit = Arrays.copyOfRange(readBases, offset + 1, offset+str+1); break; } } if (Arrays.equals(bestFWRepeatUnit, bestBWRepeatUnit)) { maxRL = maxBW + maxFW; bestRepeatUnit = bestFWRepeatUnit; } else { maxBW = GATKVariantContextUtils.findNumberOfRepetitions(bestFWRepeatUnit, testString, false); maxRL = maxFW + maxBW; bestRepeatUnit = bestFWRepeatUnit; } } if(maxRL > MAX_REPEAT_LENGTH) { maxRL = MAX_REPEAT_LENGTH; } return Pair.of(bestRepeatUnit, maxRL); }</code><technical_language>This is shorter syntax infer array type now</technical_language>

Target:
static Pair<byte[], Integer> findTandemRepeatUnits(final byte[] readBases, final int offset) { int maxBW = 0; byte[] bestBWRepeatUnit = {readBases[offset]}; for (int str = 1; str <= MAX_STR_UNIT_LENGTH; str++) { if (offset+1-str < 0) { break; } maxBW = GATKVariantContextUtils.findNumberOfRepetitions(readBases, offset - str + 1, str , readBases, 0, offset + 1, false); if (maxBW > 1) { bestBWRepeatUnit = Arrays.copyOfRange(readBases, offset - str + 1, offset + 1); break; } } byte[] bestRepeatUnit = bestBWRepeatUnit; int maxRL = maxBW; if (offset < readBases.length-1) { byte[] bestFWRepeatUnit = {readBases[offset+1]}; int maxFW = 0; for (int str = 1; str <= MAX_STR_UNIT_LENGTH; str++) { if (offset+str+1 > readBases.length) { break; } maxFW = GATKVariantContextUtils.findNumberOfRepetitions(readBases, offset + 1, str, readBases, offset + 1, readBases.length-offset -1, true); if (maxFW > 1) { bestFWRepeatUnit = Arrays.copyOfRange(readBases, offset + 1, offset+str+1); break; } } if (Arrays.equals(bestFWRepeatUnit, bestBWRepeatUnit)) { maxRL = maxBW + maxFW; bestRepeatUnit = bestFWRepeatUnit; } else { final byte[] testString = Arrays.copyOfRange(readBases, 0, offset + 1); maxBW = GATKVariantContextUtils.findNumberOfRepetitions(bestFWRepeatUnit, testString, false); maxRL = maxFW + maxBW; bestRepeatUnit = bestFWRepeatUnit; } } if(maxRL > MAX_REPEAT_LENGTH) { maxRL = MAX_REPEAT_LENGTH; } return Pair.of(bestRepeatUnit, maxRL); }
Source:
<code>public PhoneNumbersResponse listNumbersForPurchase(String countryCode) throws IllegalArgumentException, GeneralException, UnauthorizedException, NotFoundException { <START> final String url = String.format("%s/v1/available-phone-numbers", NUMBERS_CALLS_BASE_URL); <END> return messageBirdService.requestByID(url, countryCode, PhoneNumbersResponse.class); }</code><technical_language>add v1 NUMBERS_CALLS_BASE_URL. Later, updating version parameter easier</technical_language>

Target:
public PhoneNumbersResponse listNumbersForPurchase(String countryCode) throws GeneralException, UnauthorizedException, NotFoundException, IllegalArgumentException { countryCodeIsValid(countryCode); final String url = String.format("%s/available-phone-numbers", NUMBERS_CALLS_BASE_URL); return messageBirdService.requestByID(url, countryCode, PhoneNumbersResponse.class); }
Source:
<code>public ProxyEndpointService createProxyEndpointService(String serviceType) { ProxyEndpointService proxyEndpointService = null; try { proxyEndpointService = (ProxyEndpointService) Class.forName(fileProxyMap.get(serviceType)).newInstance(); } catch (InstantiationException e) { logger.log(Level.SEVERE, e.getMessage(), e); <START> e.printStackTrace(); <END> } catch (IllegalAccessException e) { logger.log(Level.SEVERE, e.getMessage(), e); } catch (ClassNotFoundException e) { logger.log(Level.SEVERE, e.getMessage(), e); } return proxyEndpointService; }</code><technical_language>Remove stack traces</technical_language>

Target:
public ProxyEndpointService createProxyEndpointService(String serviceType) { ProxyEndpointService proxyEndpointService = null; try { proxyEndpointService = (ProxyEndpointService) Class.forName(fileProxyMap.get(serviceType)).newInstance(); } catch (InstantiationException e) { logger.log(Level.SEVERE, e.getMessage(), e); } catch (IllegalAccessException e) { logger.log(Level.SEVERE, e.getMessage(), e); } catch (ClassNotFoundException e) { logger.log(Level.SEVERE, e.getMessage(), e); } return proxyEndpointService; }
Source:
<code>public void addToMutedTopics(JSONArray jsonArray) { Stream stream; for (int i = 0; i < jsonArray.length(); i++) { try { JSONArray mutedTopic = jsonArray.getJSONArray(i); stream = Stream.getByName(this, mutedTopic.get(0).toString()); mutedTopics.add(stream.getId() + mutedTopic.get(1).toString()); } catch (JSONException e) { <START> e.printStackTrace(); <END> } } SharedPreferences.Editor editor = settings.edit(); editor.putStringSet(MUTED_TOPIC_KEY, new HashSet<String>(mutedTopics)); editor.apply(); }</code><technical_language>Please log Log.e instead of printing stacktrace. Log.e(TAG, e);</technical_language>

Target:
public void addToMutedTopics(JSONArray jsonArray) { Stream stream; for (int i = 0; i < jsonArray.length(); i++) { try { JSONArray mutedTopic = jsonArray.getJSONArray(i); stream = Stream.getByName(this, mutedTopic.get(0).toString()); mutedTopics.add(stream.getId() + mutedTopic.get(1).toString()); } catch (JSONException e) { Log.e("JSONException", "JSON Is not correct", e); } } SharedPreferences.Editor editor = settings.edit(); editor.putStringSet(MUTED_TOPIC_KEY, new HashSet<String>(mutedTopics)); editor.apply(); }
Source:
<code>public void streamData(PID pid, String dsName, AccessGroupSet principals, boolean asAttachment, HttpServletResponse response) throws IOException { <START> String datastream = dsName == null ? ORIGINAL_FILE : dsName; <END> accessControlService.assertHasAccess("Insufficient permissions to access " + datastream + " for object " + pid, pid, principals, getPermissionForDatastream(datastream)); LOG.debug("Streaming datastream from object {}", datastream, pid); FileObject fileObj = repositoryObjectLoader.getFileObject(pid); BinaryObject binObj; if (ORIGINAL_FILE.equals(datastream)) { binObj = fileObj.getOriginalFile(); } else { binObj = fileObj.getBinaryObject(datastream); } response.setHeader(CONTENT_LENGTH, Long.toString(binObj.getFilesize())); response.setHeader(CONTENT_TYPE, binObj.getMimetype()); String filename = binObj.getFilename() == null ? pid.getId() : binObj.getFilename(); if (asAttachment) { response.setHeader(CONTENT_DISPOSITION, "attachment; filename=\"" + filename + "\""); } else { response.setHeader(CONTENT_DISPOSITION, "inline; filename=\"" + filename + "\""); } OutputStream outStream = response.getOutputStream(); IOUtils.copy(binObj.getBinaryStream(), outStream, 4096); }</code><technical_language>i this pattern is popular in Fedora codebase, i hard understand, i tend dislike ternary operator + assignment in a single statement. clear than, String datastream; if (dsName == null) { datastream = ORIGINAL_FILE; } else { datastream = dsName; } String datastream = dsName; if (datastream == null) { datastream = ORIGINAL_FILE; } least, if care for alternatives, mind throwing parens expression assigned datastream? :-)</technical_language>

Target:
public void streamData(PID pid, String dsName, AccessGroupSet principals, boolean asAttachment, HttpServletResponse response) throws IOException { String datastream = dsName == null ? ORIGINAL_FILE : dsName; accessControlService.assertHasAccess("Insufficient permissions to access " + datastream + " for object " + pid, pid, principals, getPermissionForDatastream(datastream)); LOG.debug("Streaming datastream from object {}", datastream, pid); FileObject fileObj = repositoryObjectLoader.getFileObject(pid); BinaryObject binObj; if (ORIGINAL_FILE.equals(datastream)) { binObj = fileObj.getOriginalFile(); } else { binObj = fileObj.getBinaryObject(datastream); } response.setHeader(CONTENT_LENGTH, Long.toString(binObj.getFilesize())); response.setHeader(CONTENT_TYPE, binObj.getMimetype()); String binaryName = binObj.getFilename(); String filename = binaryName == null ? pid.getId() : binaryName; if (asAttachment) { response.setHeader(CONTENT_DISPOSITION, "attachment; filename=\"" + filename + "\""); } else { response.setHeader(CONTENT_DISPOSITION, "inline; filename=\"" + filename + "\""); } OutputStream outStream = response.getOutputStream(); IOUtils.copy(binObj.getBinaryStream(), outStream, BUFFER_SIZE); }
Source:
<code>public void getObjectNullChannelDeprecatedConstructorTest() { try { new GetObjectRequest("BucketName", "ObjectName", null); fail(); <START> } catch (final NullPointerException e) { <END> assertThat(e.getMessage(), is("Channel may not be null.")); } catch (final IllegalArgumentException e) { assertThat(e.getMessage(), is("Argument for @Nonnull parameter 'channel' of com/spectralogic/ds3client/commands/GetObjectRequest.<init> must not be null")); } }</code><technical_language>confused. of catch clauses is expected one</technical_language>

Target:
public void getObjectNullChannelDeprecatedConstructorTest() { testNonnullStreamChannelExceptions("Channel", () -> new GetObjectRequest("BucketName", "ObjectName", null)); }
Source:
<code>private ChromeDriverEx createChromeDriver() { ChromeOptions options = new ChromeOptions(); if (USE_MOBILE_USER_AGENT) { options.addArguments(String.format("user-agent=\"%s\"", MOBILE_USER_AGENT)); } ChromeDriverEx driver = new ChromeDriverEx(options, isTestChromeDriver); WebDriver.Options manage = driver.manage(); if (!isTestChromeDriver) { <START> setWindowSize(manage); <END> initialiseJNA(); } return driver; }</code><technical_language>manage intuitive name. this is a configuration object of some kind? manage a method name is vague</technical_language>

Target:
private ChromeDriverEx createChromeDriver() { ChromeOptions options = new ChromeOptions(); if (USE_MOBILE_USER_AGENT) { options.addArguments(String.format("user-agent=\"%s\"", MOBILE_USER_AGENT)); } ChromeDriverEx driver = new ChromeDriverEx(options, isTestChromeDriver); WebDriver.Options driverOptions = driver.manage(); if (!isTestChromeDriver) { setWindowBounds(driverOptions); initialiseJNA(); } return driver; }
Source:
<code>public void assertIsDirectoryRecursivelyContaining(AssertionInfo info, File actual, String syntaxAndPattern) { requireNonNull(syntaxAndPattern, "The syntax and pattern to build PathMatcher should not be null"); Predicate<File> pathMatcher = pathMatcher(info, actual, syntaxAndPattern); <START> assertIsDirectoryRecursivelyContaining(info, actual, pathMatcher, <END> format("the '%s' pattern", syntaxAndPattern)); }</code><technical_language>rename fileMatcher is a File predicate</technical_language>

Target:
public void assertIsDirectoryRecursivelyContaining(AssertionInfo info, File actual, String syntaxAndPattern) { requireNonNull(syntaxAndPattern, "The syntax and pattern should not be null"); Predicate<File> fileMatcher = fileMatcher(info, actual, syntaxAndPattern); assertIsDirectoryRecursivelyContaining(info, actual, fileMatcher, format("the '%s' pattern", syntaxAndPattern)); }
Source:
<code>public int hashCode() { final int prime = 31; int result = 1; result = prime * result + ((id == null) ? 0 : id.hashCode()); result = prime * result + ((availableDiskSize == null) ? 0 : availableDiskSize.hashCode()); result = prime * result + ((usedDiskSize == null) ? 0 : usedDiskSize.hashCode()); <START> result = prime * result <END> + ((externalStatus == null) ? 0 : externalStatus.hashCode()); return result; }</code><technical_language>Objects.hashCode()</technical_language>

Target:
public int hashCode() { final int prime = 31; int result = 1; result = prime * result + ((id == null) ? 0 : id.hashCode()); result = prime * result + ((availableDiskSize == null) ? 0 : availableDiskSize.hashCode()); result = prime * result + ((usedDiskSize == null) ? 0 : usedDiskSize.hashCode()); result = prime * result + ((externalStatus == null) ? 0 : Objects.hashCode(externalStatus)); return result; }
Source:
<code>public IBinding resolveBinding() { if <START> (!useCachedBinding()) <END> { if (++fResolutionDepth > MAX_RESOLUTION_DEPTH) { setBinding(createRecursionResolvingBinding()); } else { fIsFinal= false; final IBinding b= createIntermediateBinding(); if (b instanceof ProblemBinding) { ProblemBinding pb= (ProblemBinding) b; final IASTNode node= pb.getASTNode(); if (node == null || node.getParent() == null) { pb.setASTNode(this); } } setBinding(b); } } if (!fIsFinal) resolveFinalBinding(this); return fBinding; }</code><technical_language>This change symbols unresolved due missing includes resolved a side effect of Organize Includes. is preferable for Organize Includes side effects</technical_language>

Target:
public IBinding resolveBinding() { return CPPSemantics.isUsingPromiscuousBindingResolution() ? resolveBindingPromiscuous() : resolveBindingNormal(); }
Source:
<code>public void create_iterable_children() { RulesTreeNode.Language parent = new RulesTreeNode.Language("lang"); RulesTreeNode.Rule n1 = new RulesTreeNode.Rule(mockRuleDetails("r1"), true, new HashMap<>()); RulesTreeNode.Rule n2 = new RulesTreeNode.Rule(mockRuleDetails("r2"), true, new HashMap<>()); RulesTreeNode.Rule n3 = new RulesTreeNode.Rule(mockRuleDetails("r3"), true, new HashMap<>()); parent.add(n1); parent.add(n2); parent.add(n3); <START> assertThat(parent.childrenIterable().iterator()).toIterable().containsExactly(n1, n2, n3); <END> }</code><technical_language>surprised simplified. tried: assertThat(parent.childrenIterable()).containsExactly(n1, n2, n3);</technical_language>

Target:
public void create_iterable_children() { RulesTreeNode.Language parent = new RulesTreeNode.Language("lang"); RulesTreeNode.Rule n1 = new RulesTreeNode.Rule(mockRuleDetails("r1"), true, new HashMap<>()); RulesTreeNode.Rule n2 = new RulesTreeNode.Rule(mockRuleDetails("r2"), true, new HashMap<>()); RulesTreeNode.Rule n3 = new RulesTreeNode.Rule(mockRuleDetails("r3"), true, new HashMap<>()); parent.add(n1); parent.add(n2); parent.add(n3); assertThat(parent.childrenIterable()).containsExactly(n1, n2, n3); }
Source:
<code>void notifyChatRoomMemberLeft(ChatRoomMember member) { <START> participantsCount--; <END> }</code><technical_language>Wait, decrement, counts number of participants joined call, number of current participants</technical_language>

Target:
void notifyChatRoomMemberLeft(ChatRoomMember member) { }