auphong2707/dl4se-code-review-dataset huggingface dataset:
Source:
<code>static void closeReader(BufferedReader in, File inputFile) { try { in.close(); } catch (Exception e) { <START> logger.error("Can't close input file '" + inputFile + "': " + e); <END> System.exit(1); } }</code><technical_language>exiting, STDERR</technical_language>

Target:
static void closeReader(BufferedReader in, File inputFile) { try { in.close(); } catch (Exception e) { System.err.println("Can't close input file '" + inputFile + "': " + e); System.exit(1); } }
Source:
<code>String exec() { final Planner planner = getPlanner(null, SqlParser.Config.DEFAULT, schemaSpec, config); try { SqlNode parse = planner.parse(sql); SqlNode validate = planner.validate(parse); RelNode rel = planner.rel(validate).rel; for (Function<RelNode, RelNode> transform : transforms) { rel = transform.apply(rel); } <START> System.out.println(RelOptUtil.toString(rel)); <END> final RelToSqlConverter converter = new RelToSqlConverter(dialect); final SqlNode sqlNode = converter.visitChild(0, rel).asStatement(); return sqlNode.toSqlString(dialect).getSql(); } catch (RuntimeException e) { throw e; } catch (Exception e) { throw new RuntimeException(e); } }</code><technical_language>Minor, this for debugging removed</technical_language>

Target:
String exec() { final Planner planner = getPlanner(null, SqlParser.Config.DEFAULT, schema, config); try { SqlNode parse = planner.parse(sql); SqlNode validate = planner.validate(parse); RelNode rel = planner.rel(validate).rel; for (Function<RelNode, RelNode> transform : transforms) { rel = transform.apply(rel); } final RelToSqlConverter converter = new RelToSqlConverter(dialect); final SqlNode sqlNode = converter.visitChild(0, rel).asStatement(); return sqlNode.toSqlString(dialect).getSql(); } catch (RuntimeException e) { throw e; } catch (Exception e) { throw new RuntimeException(e); } }
Source:
<code>public Set<String> getFreeVariables() { Set<String> freeVars = matchExpr.getFreeVariables(); for (Case c : cases) { <START> freeVars.addAll(c.getBody().getFreeVariables()); <END> } freeVars.addAll(elseExpr.getFreeVariables()); return freeVars; }</code><technical_language>This is trickier. free vars of body of case, need out varName bound in case. need add variable is root of path of NominalType in case, variable get tag do tag check</technical_language>

Target:
public Set<String> getFreeVariables() { Set<String> freeVars = matchExpr.getFreeVariables(); for (Case c : cases) { freeVars.addAll(c.getBody().getFreeVariables()); freeVars.remove(c.getVarName()); } freeVars.addAll(elseExpr.getFreeVariables()); return freeVars; }
Source:
<code>private void removeBricksFromVolumeInDb(List<GlusterBrickEntity> brickList) { GlusterVolumeEntity volume = getGlusterVolume(); for (GlusterBrickEntity brick : brickList) { getGlusterBrickDao().removeBrick(brick.getId()); } if (volume.getVolumeType() == GlusterVolumeType.DISTRIBUTED_REPLICATE && volume.getReplicaCount() == (volume.getBricks().size() - brickList.size())) { volume.setVolumeType(GlusterVolumeType.REPLICATE); } if (volume.getVolumeType() == GlusterVolumeType.REPLICATE || volume.getVolumeType() == GlusterVolumeType.DISTRIBUTED_REPLICATE) { int replicaCount = <START> (getParameters().getReplicaCount() == 0 || getParameters().getReplicaCount() == volume.getReplicaCount()) <END> ? volume.getReplicaCount() : getParameters().getReplicaCount(); volume.setReplicaCount(replicaCount); getGlusterVolumeDao().updateGlusterVolume(volume); } if (volume.getVolumeType() == GlusterVolumeType.DISTRIBUTED_STRIPE && volume.getStripeCount() == (volume.getBricks().size() - brickList.size())) { volume.setVolumeType(GlusterVolumeType.STRIPE); getGlusterVolumeDao().updateGlusterVolume(volume); } }</code><technical_language>|| condition is required. left hand side condition enough</technical_language>

Target:
private void removeBricksFromVolumeInDb(List<GlusterBrickEntity> brickList) { GlusterVolumeEntity volume = getGlusterVolume(); for (GlusterBrickEntity brick : brickList) { getGlusterBrickDao().removeBrick(brick.getId()); } if (volume.getVolumeType() == GlusterVolumeType.DISTRIBUTED_REPLICATE && volume.getReplicaCount() == (volume.getBricks().size() - brickList.size())) { volume.setVolumeType(GlusterVolumeType.REPLICATE); } if (volume.getVolumeType() == GlusterVolumeType.REPLICATE || volume.getVolumeType() == GlusterVolumeType.DISTRIBUTED_REPLICATE) { int replicaCount = (getParameters().getReplicaCount() == 0) ? volume.getReplicaCount() : getParameters().getReplicaCount(); volume.setReplicaCount(replicaCount); getGlusterVolumeDao().updateGlusterVolume(volume); } if (volume.getVolumeType() == GlusterVolumeType.DISTRIBUTED_STRIPE && volume.getStripeCount() == (volume.getBricks().size() - brickList.size())) { volume.setVolumeType(GlusterVolumeType.STRIPE); getGlusterVolumeDao().updateGlusterVolume(volume); } }
Source:
<code>public void startHA() throws Exception { JChannel ch=new JChannel(jgroupsConf); RaftHandle handle=new RaftHandle(ch, null); if ( raftMemberID != null ) handle.raftId(raftMemberID); else LOGGER.warn("--raft_member_id not specified, using values from " + jgroupsConf); handle.addRoleListener(role -> { if(role == Role.Leader) { LOGGER.info("won HA election, starting maxwell"); isRaftLeader.set(true); if ( hasRun ) maxwell.restart(); else { maxwell.run(); hasRun = true; } isRaftLeader.set(false); } else if ( this.isRaftLeader.get() ) { LOGGER.info("Unable to find consensus, stepping down HA leadership"); maxwell.terminate(); isRaftLeader.set(false); } else { LOGGER.info("lost HA election, current leader: " + handle.leader()); } }); ch.connect(this.clientID); LOGGER.info("enter HA group, current leader: " + handle.leader()); <START> Thread.sleep(Long.MAX_VALUE); <END> }</code><technical_language>If maxwell.run() fails execute, assuming in HA mode process dies. process hang. Is right</technical_language>

Target:
public void startHA() throws Exception { JChannel ch=new JChannel(jgroupsConf); RaftHandle handle=new RaftHandle(ch, null); if ( raftMemberID != null ) handle.raftId(raftMemberID); else LOGGER.warn("--raft_member_id not specified, using values from " + jgroupsConf); handle.addRoleListener(role -> { if(role == Role.Leader) { LOGGER.info("won HA election, starting maxwell"); isRaftLeader.set(true); run(); isRaftLeader.set(false); } else if ( this.isRaftLeader.get() ) { LOGGER.info("Unable to find consensus, stepping down HA leadership"); maxwell.terminate(); isRaftLeader.set(false); } else { LOGGER.info("lost HA election, current leader: " + handle.leader()); } }); ch.connect(this.clientID); LOGGER.info("enter HA group, current leader: " + handle.leader()); Thread.sleep(Long.MAX_VALUE); }
Source:
<code>final CompletableFuture<Response> invokeCommand(CacheRpcCommand cmd) throws Throwable { try { if (isTraceEnabled()) { getLog().tracef("Calling perform() on %s", cmd); } if (cmd instanceof CancellableCommand) { cancellationService.register(Thread.currentThread(), ((CancellableCommand) cmd).getUUID()); } CompletableFuture<Object> future = cmd.invokeAsync(); if (CompletionStages.isComplete(future)) { Object obj = future.join(); if (cmd instanceof CancellableCommand) { cancellationService.unregister(((CancellableCommand) cmd).getUUID()); } Response response = responseGenerator.getResponse(cmd, obj); if (response == null) { return CompletableFutures.completedNull(); } <START> return CompletableFuture.completedFuture(response); <END> } return future.handle((rv, throwable) -> { if (cmd instanceof CancellableCommand) { cancellationService.unregister(((CancellableCommand) cmd).getUUID()); } CompletableFutures.rethrowException(throwable); return responseGenerator.getResponse(cmd, rv); }); } catch (Throwable throwable) { if (cmd instanceof CancellableCommand) { cancellationService.unregister(((CancellableCommand) cmd).getUUID()); } throw throwable; } }</code><technical_language>I optimizations here..</technical_language>

Target:
final CompletableFuture<Response> invokeCommand(CacheRpcCommand cmd) throws Throwable { try { if (isTraceEnabled()) { getLog().tracef("Calling perform() on %s", cmd); } if (cmd instanceof CancellableCommand) { cancellationService.register(Thread.currentThread(), ((CancellableCommand) cmd).getUUID()); } CompletableFuture<Object> future = cmd.invokeAsync(); if (CompletionStages.isCompletedSuccessfully(future)) { Object obj = future.join(); if (cmd instanceof CancellableCommand) { cancellationService.unregister(((CancellableCommand) cmd).getUUID()); } Response response = responseGenerator.getResponse(cmd, obj); if (response == null) { return CompletableFutures.completedNull(); } return CompletableFuture.completedFuture(response); } return future.handle((rv, throwable) -> { if (cmd instanceof CancellableCommand) { cancellationService.unregister(((CancellableCommand) cmd).getUUID()); } CompletableFutures.rethrowException(throwable); return responseGenerator.getResponse(cmd, rv); }); } catch (Throwable throwable) { if (cmd instanceof CancellableCommand) { cancellationService.unregister(((CancellableCommand) cmd).getUUID()); } throw throwable; } }
Source:
<code>protected final void bindConsumerAndProducers(final Module module) { String xdHistory = module.getDeploymentProperties() != null ? module.getDeploymentProperties().get(BusProperties.TRACK_HISTORY) : null; boolean trackHistory = Boolean.valueOf(xdHistory); Properties[] properties = extractConsumerProducerProperties(module); <START> Map<String, Object> historyProperties = extractHistoryProperties(module); <END> addHistoryTag(module, historyProperties); MessageChannel outputChannel = module.getComponent(MODULE_OUTPUT_CHANNEL, MessageChannel.class); if (outputChannel != null) { bindMessageProducer(outputChannel, getOutputChannelName(module), properties[1]); String tapChannelName = buildTapChannelName(module); tappableChannels.put(tapChannelName, outputChannel); if (isTapActive(tapChannelName)) { createAndBindTapChannel(tapChannelName, outputChannel); } if (trackHistory) { track(module, outputChannel, historyProperties); } } MessageChannel inputChannel = module.getComponent(MODULE_INPUT_CHANNEL, MessageChannel.class); if (inputChannel != null) { bindMessageConsumer(inputChannel, getInputChannelName(module), properties[0]); if (trackHistory && module.getType().equals(ModuleType.sink)) { track(module, inputChannel, historyProperties); } } }</code><technical_language>protect this call if(trackHistory), need execute for taps support</technical_language>

Target:
protected final void bindConsumerAndProducers(final Module module) { boolean trackHistory = module.getDeploymentProperties() != null ? module.getDeploymentProperties().getTrackHistory() : false; Properties[] properties = extractConsumerProducerProperties(module); Map<String, Object> historyProperties = null; if (trackHistory) { historyProperties = extractHistoryProperties(module); addHistoryTag(module, historyProperties); } MessageChannel outputChannel = module.getComponent(MODULE_OUTPUT_CHANNEL, MessageChannel.class); if (outputChannel != null) { bindMessageProducer(outputChannel, getOutputChannelName(module), properties[1]); String tapChannelName = buildTapChannelName(module); tappableChannels.put(tapChannelName, outputChannel); if (isTapActive(tapChannelName)) { createAndBindTapChannel(tapChannelName, outputChannel); } if (trackHistory) { track(module, outputChannel, historyProperties); } } MessageChannel inputChannel = module.getComponent(MODULE_INPUT_CHANNEL, MessageChannel.class); if (inputChannel != null) { bindMessageConsumer(inputChannel, getInputChannelName(module), properties[0]); if (trackHistory && module.getType().equals(ModuleType.sink)) { track(module, inputChannel, historyProperties); } } }
Source:
<code>public void testFilterWithEmptyString() { mockFilterObserver.setName(""); <START> assert mockFilterObserver.getFilteredInstalledApplications().size() == 1; <END> }</code><technical_language>JUnit assertEquals please</technical_language>

Target:
public void testFilterWithEmptyString() { mockFilterObserver.setName(""); assertEquals(1, mockFilterObserver.getFilteredInstalledApplications().size()); }
Source:
<code>public void setUserInfo() { AQuery aq = new AQuery(this, infoView); ImageView avatarImage = (ImageView) infoView.findViewById(R.id.avatar); AvatarLoader avatarLoader = new AvatarLoader(this); <START> String email = PreferenceUtils.getValue(this, PreferenceUtils.KEY_USER_ACCOUNT); <END> avatarLoader.load(email, avatarImage); aq.id(R.id.user_name).text(Utils.getNameFromEmail(this, email)); }</code><technical_language>Do need this method? refactor method name getString is this method get prefs</technical_language>

Target:
public void setUserInfo() { AQuery aq = new AQuery(this, infoView); ImageView avatarImage = (ImageView) infoView.findViewById(R.id.avatar); AvatarLoader avatarLoader = new AvatarLoader(this); String email = PreferenceUtils.getString(this, PreferenceUtils.KEY_USER_ACCOUNT); avatarLoader.load(email, avatarImage); aq.id(R.id.user_name).text(Utils.getNameFromEmail(this, email)); }
Source:
<code>public void testLoadList() { <START> storage.reloadTemplateMaps();; <END> List<ServerTemplate> templates = storage.load(); assertEquals("Mismatched number of server templates",templateMap.values().size(),templates.size()); templateMap.values().forEach(value -> { assertTrue("Server template not found",templates.contains(value)); }); }</code><technical_language>';'</technical_language>

Target:
public void testLoadList() { storage.reloadTemplateMaps(); List<ServerTemplate> templates = storage.load(); assertEquals("Mismatched number of server templates",templateMap.values().size(),templates.size()); templateMap.values().forEach(value -> { assertTrue("Server template not found",templates.contains(value)); }); }
Source:
<code>private Map<Integer, SumCountData> getSumCountMapFromDDBItem(final Map<String, AttributeValue> item) { if (item.containsKey(this.name)) { final ObjectMapper mapper = new ObjectMapper(); final TypeFactory typeFactory = mapper.getTypeFactory(); final MapType mapType = typeFactory.constructMapType(Map.class, Integer.class, SumCountData.class); try { final String stringToProcess = getAttributeFromDDBItem(item).getS(); return mapper.readValue(stringToProcess, mapType); } catch (JsonMappingException e) { <START> LOGGER.warn("exception={} action=received-malformed-attribute item={}", e.getMessage(), item.toString()); <END> } catch (IOException e) { LOGGER.warn("exception={} action=received-io-exception item={}", e.getMessage(), item.toString()); } } return Maps.newHashMap(); }</code><technical_language>this a warn error</technical_language>

Target:
private Map<Integer, SumCountData> getSumCountMapFromDDBItem(final Map<String, AttributeValue> item) { if (item.containsKey(this.name)) { final ObjectMapper mapper = new ObjectMapper(); final TypeFactory typeFactory = mapper.getTypeFactory(); final MapType mapType = typeFactory.constructMapType(Map.class, Integer.class, SumCountData.class); try { final String stringToProcess = getAttributeFromDDBItem(item).getS(); return mapper.readValue(stringToProcess, mapType); } catch (JsonMappingException e) { LOGGER.error("exception={} action=received-malformed-attribute item={}", e.getMessage(), item.toString()); } catch (IOException e) { LOGGER.error("exception={} action=received-io-exception item={}", e.getMessage(), item.toString()); } } return Maps.newHashMap(); }
Source:
<code>public void onEvent(Event event, Object source, Object data) { CancelableEvent cancelableEvent = (CancelableEvent) event; if (cancelableEvent.isCanceled()) { <START> logger.warn("Skipping " + this.getName() + " as the event is already cancelled."); <END> return; } if (this.configuration.getDocumentProtection() == DocumentProtection.NONE) { return; } Job job = (Job) source; if (!job.getRequest().isInteractive()) { logger .warn("XAR Extension Documents Deleting Listener will not check the document in non-interactive mode."); return; } Map<EntityReference, EntitySelection> concernedEntities = (Map<EntityReference, EntitySelection>) data; ExtensionBreakingQuestion question = new ExtensionBreakingQuestion(concernedEntities); for (EntitySelection entitySelection : concernedEntities.values()) { if (entitySelection.getEntityReference() instanceof DocumentReference) { checkIfDeleteIsAllowed(entitySelection, question); } } if (!question.getExtensions().isEmpty()) { try { boolean ack = job.getStatus().ask(question, 5, TimeUnit.MINUTES); if (!ack) { String message = "The question has been asked, however no answer has been received."; this.logger.warn(message); cancelableEvent.cancel(message); } } catch (InterruptedException e) { this.logger.warn("Confirm question has been interrupted."); cancelableEvent.cancel("Question has been interrupted."); } } }</code><technical_language>suggestion logger.warn("Skipping event is cancelled.", this.getName());</technical_language>

Target:
public void onEvent(Event event, Object source, Object data) { Job job = (Job) source; CancelableEvent cancelableEvent = (CancelableEvent) event; if (!this.shouldListenerBeTriggered(job, cancelableEvent)) { return; } Map<EntityReference, EntitySelection> concernedEntities = (Map<EntityReference, EntitySelection>) data; ExtensionBreakingQuestion question = new ExtensionBreakingQuestion(concernedEntities); for (EntitySelection entitySelection : concernedEntities.values()) { if (entitySelection.getEntityReference() instanceof DocumentReference) { checkIfDeleteIsAllowed(entitySelection, question); } } JobStatus jobStatus = job.getStatus(); if (!question.getExtensions().isEmpty()) { question.unselectAll(); try { boolean ack = jobStatus.ask(question, 5, TimeUnit.MINUTES); if (!ack) { String message = "The question has been asked, however no answer has been received."; this.logger.warn(message); cancelableEvent.cancel(message); } } catch (InterruptedException e) { this.logger.warn("Confirm question has been interrupted."); cancelableEvent.cancel("Question has been interrupted."); } if (jobStatus instanceof CancelableJobStatus) { CancelableJobStatus cancelableJobStatus = (CancelableJobStatus) jobStatus; if (cancelableJobStatus.isCanceled()) { cancelableEvent.cancel(); } if (cancelableEvent.isCanceled()) { cancelableJobStatus.cancel(); } } } }
Source:
<code>public void populateListItem() { Context appContext = context.getApplicationContext(); BookmarksDBAdapter a = new BookmarksDBAdapter(appContext); <START> List<Bookmark> bookmarksList = a.getBookmarks(0); END> listItemList = new ArrayList(); for (int i = 0; i < bookmarksList.size(); i++) { Bookmark bm = bookmarksList.get(i); ItemList item = new ItemList(); item.sura = QuranInfo.getSuraNameFromPage(appContext, bm.page); item.page = bm.page; listItemList.add(item); } }</code><technical_language>a constant for this - pretty is</technical_language>

Target:
public void populateListItem() { int dateAdded = 0; Context appContext = context.getApplicationContext(); BookmarksDBAdapter mBookmarksDBAdapter = new BookmarksDBAdapter(appContext); List<Bookmark> bookmarksList = mBookmarksDBAdapter.getBookmarks(dateAdded); suraPageItemList = new ArrayList(); for (int i = 0; i < bookmarksList.size(); i++) { Bookmark bm = bookmarksList.get(i); SuraPageItem item = new SuraPageItem(); item.sura = QuranInfo.getSuraNameFromPage(appContext, bm.page); item.page = bm.page; suraPageItemList.add(item); } }
Source:
<code>private LifecycleMessageHandler<ReceivedInstantClusterIdAwareMessage> createMessageHandlerChain( CoreServerModule coreServerModule ) { RaftMessageApplier messageApplier = new RaftMessageApplier( localDatabase, logProvider, consensusModule.raftMachine(), coreServerModule.downloadService(), coreServerModule.commandApplicationProcess() ); ComposableMessageHandler monitoringHandler = RaftMessageMonitoringHandler.composable( platformModule.clock, platformModule.monitors ); int queueSize = platformModule.config.get( CausalClusteringSettings.raft_in_queue_size ); int maxBatch = platformModule.config.get( CausalClusteringSettings.raft_in_queue_max_batch ); Function<Runnable, ContinuousJob> jobFactory = ( Runnable runnable ) -> new ContinuousJob( platformModule.jobScheduler, new JobScheduler.Group( "raft-batch-handler", NEW_THREAD ), runnable, logProvider ); ComposableMessageHandler batchingMessageHandler = BatchingMessageHandler.composable( queueSize, maxBatch, jobFactory, logProvider ); ComposableMessageHandler leaderAvailabilityHandler = LeaderAvailabilityHandler.composable( consensusModule.getLeaderAvailabilityTimers(), consensusModule.raftMachine()::term ); ComposableMessageHandler clusterBindingHandler = ClusterBindingHandler.composable( logProvider ); return clusterBindingHandler .compose( leaderAvailabilityHandler ) .compose( batchingMessageHandler ) <START> .compose( clusterBindingHandler ) <END> .compose( monitoringHandler ) .apply( messageApplier ); }</code><technical_language>cluster-binding in stack here</technical_language>

Target:
private LifecycleMessageHandler<ReceivedInstantClusterIdAwareMessage> createMessageHandlerChain( CoreServerModule coreServerModule ) { RaftMessageApplier messageApplier = new RaftMessageApplier( localDatabase, logProvider, consensusModule.raftMachine(), coreServerModule.downloadService(), coreServerModule.commandApplicationProcess() ); ComposableMessageHandler monitoringHandler = RaftMessageMonitoringHandler.composable( platformModule.clock, platformModule.monitors ); int queueSize = platformModule.config.get( CausalClusteringSettings.raft_in_queue_size ); int maxBatch = platformModule.config.get( CausalClusteringSettings.raft_in_queue_max_batch ); Function<Runnable, ContinuousJob> jobFactory = ( Runnable runnable ) -> new ContinuousJob( platformModule.jobScheduler, new JobScheduler.Group( "raft-batch-handler", NEW_THREAD ), runnable, logProvider ); ComposableMessageHandler batchingMessageHandler = BatchingMessageHandler.composable( queueSize, maxBatch, jobFactory, logProvider ); ComposableMessageHandler leaderAvailabilityHandler = LeaderAvailabilityHandler.composable( consensusModule.getLeaderAvailabilityTimers(), consensusModule.raftMachine()::term ); ComposableMessageHandler clusterBindingHandler = ClusterBindingHandler.composable( logProvider ); return clusterBindingHandler .compose( leaderAvailabilityHandler ) .compose( batchingMessageHandler ) .compose( monitoringHandler ) .apply( messageApplier ); }
Source:
<code>public void testErrorSameAttrMultipleTypes() { LogicalPlanConfiguration lpc = new LogicalPlanConfiguration(new Configuration()); @SuppressWarnings("MismatchedReadAndWriteOfArray") Exception ex = null; try { ContextUtils.buildAttributeMaps(Sets.newHashSet(MockContext1.class, MockContext2.class)); } catch (ValidationException e) { ex = e; } <START> Assert.assertNotNull(ex); <END> ContextUtils.initialize(); }</code><technical_language>Need validate message of exception</technical_language>

Target:
public void testErrorSameAttrMultipleTypes() { LogicalPlanConfiguration lpc = new LogicalPlanConfiguration(new Configuration()); Exception ex = null; try { ContextUtils.buildAttributeMaps(Sets.newHashSet(MockContext1.class, MockContext2.class)); } catch (ValidationException e) { ex = e; } Assert.assertNotNull(ex); Assert.assertTrue(ex.getMessage().contains("is defined with two different types in two different context classes:")); ContextUtils.initialize(); }
Source:
<code><START> public CurrentProductImpl( <END> PlaceManager placeManager) { this.placeManager = placeManager; }</code><technical_language>rm public</technical_language>

Target:
CurrentProductImpl( PlaceManager placeManager) { this.placeManager = placeManager; }
Source:
<code>private void newVm() { if (getWindow() != null) { return; } UnitVmModel model = new UnitVmModel(new NewVmModelBehavior()); model.setTitle(ConstantsManager.getInstance() .getMessages() <START> .newVmTitle(ConstantsManager.getInstance().getConstants().vm())); <END> model.setHashName("new_vm"); model.setIsNew(true); model.getVmType().setSelectedItem(VmType.Server); model.setCustomPropertiesKeysList(getCustomPropertiesKeysList()); setWindow(model); model.initialize(getSystemTreeSelectedItem()); VmBasedWidgetSwitchModeCommand switchModeCommand = new VmBasedWidgetSwitchModeCommand(); switchModeCommand.init(model); model.getCommands().add(switchModeCommand); model.getProvisioning().setEntity(true); UICommand tempVar = new UICommand("OnSave", this); tempVar.setTitle(ConstantsManager.getInstance().getConstants().ok()); tempVar.setIsDefault(true); model.getCommands().add(tempVar); UICommand tempVar2 = new UICommand("Cancel", this); tempVar2.setTitle(ConstantsManager.getInstance().getConstants().cancel()); tempVar2.setIsCancel(true); model.getCommands().add(tempVar2); }</code><technical_language>message simply converted a constant: s/New {0} Virtual Machine/New Virtual Machine</technical_language>

Target:
private void newVm() { if (getWindow() != null) { return; } UnitVmModel model = new UnitVmModel(new NewVmModelBehavior()); model.setTitle(ConstantsManager.getInstance().getConstants().newVmTitle()); model.setHashName("new_vm"); model.setIsNew(true); model.getVmType().setSelectedItem(VmType.Server); model.setCustomPropertiesKeysList(getCustomPropertiesKeysList()); setWindow(model); model.initialize(getSystemTreeSelectedItem()); VmBasedWidgetSwitchModeCommand switchModeCommand = new VmBasedWidgetSwitchModeCommand(); switchModeCommand.init(model); model.getCommands().add(switchModeCommand); model.getProvisioning().setEntity(true); UICommand tempVar = new UICommand("OnSave", this); tempVar.setTitle(ConstantsManager.getInstance().getConstants().ok()); tempVar.setIsDefault(true); model.getCommands().add(tempVar); UICommand tempVar2 = new UICommand("Cancel", this); tempVar2.setTitle(ConstantsManager.getInstance().getConstants().cancel()); tempVar2.setIsCancel(true); model.getCommands().add(tempVar2); }
Source:
<code>public Optional<RestRouterConfiguration> build() { if (this.enabled) { try { validate(); } catch (Exception e) { throw logger.configurationValidationError(e); } return Optional.of(new RestRouterConfiguration(ip, port)); } <START> return Optional.empty(); <END> }</code><technical_language>builders creating children time, is worth differently here</technical_language>

Target:
public RestRouterConfiguration build() { if (this.enabled) { try { validate(); } catch (Exception e) { throw logger.configurationValidationError(e); } return new RestRouterConfiguration(ip, port); } return null; }
Source:
<code><START> private String makeStringFromSentences(List<String> sentences, int numSentences) { <END> StringBuilder outStr = new StringBuilder(); for (int i = 0; i < Math.min(numSentences, sentences.size()); i++) { outStr.append(sentences.get(i)); outStr.append(' '); } return outStr.toString(); }</code><technical_language>numSentences maxSentences? I thought this supposed sentences.size() initially</technical_language>

Target:
private String makeStringFromSentences(List<String> sentences, int numSentences) { return TextUtils.join(" ", sentences.subList(0, Math.min(numSentences, sentences.size()))); }
Source:
<code>public void afterAnalysis( CommandEnvironment env, BuildRequest request, BuildOptions buildOptions, AnalysisResult analysisResult) { if (remoteOutputsMode != null && remoteOutputsMode.downloadToplevelOutputsOnly()) { Preconditions.checkState(actionContextProvider != null, "actionContextProvider was null"); boolean isTestCommand = env.getCommandName().equals("test"); TopLevelArtifactContext artifactContext = request.getTopLevelArtifactContext(); ImmutableSet.Builder<ActionInput> filesToDownload = ImmutableSet.builder(); for (ConfiguredTarget configuredTarget : analysisResult.getTargetsToBuild()) { if (isTestCommand && isTestRule(configuredTarget)) { filesToDownload.addAll(getTestOutputs(configuredTarget)); } else { filesToDownload.addAll(getArtifactsToBuild(configuredTarget, artifactContext).toList()); filesToDownload.addAll(getRunfiles(configuredTarget)); } } for (ActionInput actionInput : filesToDownload.build()) { if (!(actionInput instanceof Artifact)) { continue; } ActionExecutionMetadata action = (ActionExecutionMetadata) analysisResult.getActionGraph().getGeneratingAction((Artifact) actionInput); if (action.mayInsensitivelyPropagateInputs()) { <START> filesToDownload.addAll(action.getInputs().toList()); <END> } } actionContextProvider.setFilesToDownload(filesToDownload.build()); } }</code><technical_language>Is for more symlink-ish action chained together? concern is this insufficient if inputs this action outputs of other symlink actions. Rewinding recurses in a case. overkill here</technical_language>

Target:
public void afterAnalysis( CommandEnvironment env, BuildRequest request, BuildOptions buildOptions, AnalysisResult analysisResult) { if (remoteOutputsMode != null && remoteOutputsMode.downloadToplevelOutputsOnly() && actionContextProvider != null) { boolean isTestCommand = env.getCommandName().equals("test"); TopLevelArtifactContext artifactContext = request.getTopLevelArtifactContext(); Set<ActionInput> filesToDownload = new HashSet<>(); for (ConfiguredTarget configuredTarget : analysisResult.getTargetsToBuild()) { if (isTestCommand && isTestRule(configuredTarget)) { filesToDownload.addAll(getTestOutputs(configuredTarget)); } else { fetchSymlinkDependenciesRecursively( analysisResult.getActionGraph(), filesToDownload, getArtifactsToBuild(configuredTarget, artifactContext).toList()); fetchSymlinkDependenciesRecursively( analysisResult.getActionGraph(), filesToDownload, getRunfiles(configuredTarget)); } } actionContextProvider.setFilesToDownload(ImmutableSet.copyOf(filesToDownload)); } }
Source:
<code>public void initialize() { super.initialize(); <START> if (fftType == null) { <END> fftType = (C) new ComplexFloatType(); } padOp = (BinaryFunctionOp) Functions.binary(ops(), PadInputFFTMethods.class, RandomAccessibleInterval.class, RandomAccessibleInterval.class, Dimensions.class, fast); createOp = (UnaryFunctionOp) Functions.unary(ops(), CreateOutputFFTMethods.class, RandomAccessibleInterval.class, Dimensions.class, fftType, fast); fftMethodsOp = (UnaryComputerOp) Computers.nullary(ops(), FFTMethodsOpC.class, RandomAccessibleInterval.class, RandomAccessibleInterval.class); }</code><technical_language>this done in CreateOp</technical_language>

Target:
public void initialize() { super.initialize(); if (fftType == null) { fftType = (C)ops().create().nativeType(ComplexFloatType.class); } padOp = (BinaryFunctionOp) Functions.binary(ops(), PadInputFFTMethods.class, RandomAccessibleInterval.class, RandomAccessibleInterval.class, Dimensions.class, fast); createOp = (UnaryFunctionOp) Functions.unary(ops(), CreateOutputFFTMethods.class, RandomAccessibleInterval.class, Dimensions.class, fftType, fast); fftMethodsOp = (UnaryComputerOp) Computers.nullary(ops(), FFTMethodsOpC.class, RandomAccessibleInterval.class, RandomAccessibleInterval.class); }
Source:
<code><START> public void not_equal() throws Exception { <END> execute("a != null"); assertSingleValueInStack(EqualitySymbolicValue.class); RelationalSymbolicValue sv = (RelationalSymbolicValue) stack.peek(); assertThat(sv.leftOperand()).isEqualTo(simple1); assertThat(sv.rightOperand()).isEqualTo(SpecialSymbolicValue.NULL); assertSingleValueInStackWithConstraint(Constraint.BOOLEAN); }</code><technical_language>rename this test method next two</technical_language>

Target:
public void not_equal() throws Exception { execute("a != null"); assertSingleValueInStack(RelationalSymbolicValue.create(Kind.NOT_EQUAL_TO, simple1, SpecialSymbolicValue.NULL)); }
Source:
<code>public void compileQuery(List<String> statements) { try { LOG.info("Compiling query statements {}", statements); <START> StreamlineSql stormSql = StreamlineSql.construct(); <END> stormSql.execute(statements, channelHandler); channelContext = RulesDataSourcesProvider.getDataSource().getChannelContext(); LOG.info("Query statements successfully compiled, channelContext set to {}", channelContext); } catch (Exception e) { throw new RuntimeException(String.format("Error compiling query. Statements [%s]", statements), e); } }</code><technical_language>nit: rename variable name</technical_language>

Target:
public void compileQuery(List<String> statements) { try { LOG.info("Compiling query statements {}", statements); StreamlineSql streamlineSql = StreamlineSql.construct(); streamlineSql.execute(statements, channelHandler); channelContext = RulesDataSourcesProvider.getDataSource().getChannelContext(); LOG.info("Query statements successfully compiled, channelContext set to {}", channelContext); } catch (Exception e) { throw new RuntimeException(String.format("Error compiling query. Statements [%s]", statements), e); } }
Source:
<code>public ModelInfo load() { switch (version) { case "4.1.2": return JAXB.unmarshal(QdmModelInfoProvider.class.getResourceAsStream("/gov/healthit/qdm/qdm-modelinfo.xml"), ModelInfo.class); case "4.2": return JAXB.unmarshal(QuickModelInfoProvider.class.getResourceAsStream("/gov/healthit/qdm/qdm-modelinfo-4.2.xml"), ModelInfo.class); case "5.0": <START> default: <END> return JAXB.unmarshal(QuickModelInfoProvider.class.getResourceAsStream("/gov/healthit/qdm/qdm-modelinfo-5.0.xml"), ModelInfo.class); } }</code><technical_language>moving this logic: return JAXB.unmarshal(QuickModelInfoProvider.class.getResourceAsStream("/gov/healthit/qdm/qdm-modelinfo-5.0.xml"), ModelInfo.class); case "5.0": making logic default: error. This way, if get unsupported version, fail gracefully</technical_language>

Target:
public ModelInfo load() { String localVersion = version == null ? "" : version; switch (localVersion) { case "4.1.2": return JAXB.unmarshal(QdmModelInfoProvider.class.getResourceAsStream("/gov/healthit/qdm/qdm-modelinfo.xml"), ModelInfo.class); case "4.2": return JAXB.unmarshal(QuickModelInfoProvider.class.getResourceAsStream("/gov/healthit/qdm/qdm-modelinfo-4.2.xml"), ModelInfo.class); case "5.0": case "": return JAXB.unmarshal(QuickModelInfoProvider.class.getResourceAsStream("/gov/healthit/qdm/qdm-modelinfo-5.0.xml"), ModelInfo.class); default: throw new IllegalArgumentException(String.format("Unknown version %s of the QDM model.", localVersion)); } }
Source:
<code>public DataContainer toContainer() { DataContainer dataContainer = super.toContainer(); if (this.primaryEffect != null) { <START> dataContainer = dataContainer.set(Keys.BEACON_PRIMARY_EFFECT.getQuery(), this.primaryEffect); <END> } if (this.secondaryEffect != null) { dataContainer = dataContainer.set(Keys.BEACON_SECONDARY_EFFECT.getQuery(), this.secondaryEffect); } return dataContainer; }</code><technical_language>need id here, object itself</technical_language>

Target:
public DataContainer toContainer() { DataContainer dataContainer = super.toContainer(); if (this.primaryEffect != null) { dataContainer = dataContainer.set(Keys.BEACON_PRIMARY_EFFECT.getQuery(), this.primaryEffect.getId()); } if (this.secondaryEffect != null) { dataContainer = dataContainer.set(Keys.BEACON_SECONDARY_EFFECT.getQuery(), this.secondaryEffect.getId()); } return dataContainer; }
Source:
<code>public final synchronized void shutdown() throws InterruptedException { try { poolState = POOL_SHUTDOWN; LOGGER.info("{} - is closing down.", poolName); logPoolState("Before closing "); <START> addConnectionExecutor.shutdown(); <END> addConnectionExecutor.awaitTermination(5L, TimeUnit.SECONDS); if (config.getScheduledExecutorService() == null) { houseKeepingExecutorService.shutdown(); houseKeepingExecutorService.awaitTermination(5L, TimeUnit.SECONDS); } final ExecutorService assassinExecutor = createThreadPoolExecutor(config.getMaximumPoolSize(), "Hikari connection assassin", config.getThreadFactory(), new ThreadPoolExecutor.CallerRunsPolicy()); connectionBag.close(); try { final long start = clockSource.currentTime(); do { softEvictConnections(); abortActiveConnections(assassinExecutor); } while (getTotalConnections() > 0 && clockSource.elapsedMillis(start) < TimeUnit.SECONDS.toMillis(5)); } finally { assassinExecutor.shutdown(); assassinExecutor.awaitTermination(5L, TimeUnit.SECONDS); } poolElf.shutdownTimeoutExecutor(); closeConnectionExecutor.shutdown(); closeConnectionExecutor.awaitTermination(5L, TimeUnit.SECONDS); } finally { logPoolState("After closing "); poolElf.unregisterMBeans(); metricsTracker.close(); } }</code><technical_language>bag is closed prevent connections added. addConnection() calls concurrentBag.add() IllegalStateException thrown, exception caught connection forced closed. Connections in process of added shutdown() is called. current code is cleaner</technical_language>

Target:
public final synchronized void shutdown() throws InterruptedException { try { poolState = POOL_SHUTDOWN; LOGGER.info("{} - is closing down.", poolName); logPoolState("Before closing "); connectionBag.close(); softEvictConnections(); addConnectionExecutor.shutdown(); addConnectionExecutor.awaitTermination(5L, TimeUnit.SECONDS); if (config.getScheduledExecutorService() == null) { houseKeepingExecutorService.shutdown(); houseKeepingExecutorService.awaitTermination(5L, TimeUnit.SECONDS); } final ExecutorService assassinExecutor = createThreadPoolExecutor(config.getMaximumPoolSize(), "Hikari connection assassin", config.getThreadFactory(), new ThreadPoolExecutor.CallerRunsPolicy()); try { final long start = clockSource.currentTime(); do { softEvictConnections(); abortActiveConnections(assassinExecutor); } while (getTotalConnections() > 0 && clockSource.elapsedMillis(start) < TimeUnit.SECONDS.toMillis(5)); } finally { assassinExecutor.shutdown(); assassinExecutor.awaitTermination(5L, TimeUnit.SECONDS); } poolElf.shutdownTimeoutExecutor(); closeConnectionExecutor.shutdown(); closeConnectionExecutor.awaitTermination(5L, TimeUnit.SECONDS); } finally { logPoolState("After closing "); poolElf.unregisterMBeans(); metricsTracker.close(); } }
Source:
<code>public void pack(String storageId, String repositoryId) throws IOException { String contextId = storageId + ":" + repositoryId + ":" + IndexTypeEnum.LOCAL.getType(); logger.info("Packing index for " + contextId + " ..."); final RepositoryIndexer indexer = repositoryIndexManager.getRepositoryIndexer(contextId); if (indexer == null) { <START> throw new NullPointerException("Unable to find RepositoryIndexer by key " + contextId + <END> ". \nAvailable keys are " + repositoryIndexManager.getIndexes().keySet()); } IndexingContext context = indexer.getIndexingContext(); final IndexSearcher indexSearcher = context.acquireIndexSearcher(); try { IndexPackingRequest request = new IndexPackingRequest(context, indexSearcher.getIndexReader(), new File(indexer.getRepositoryBasedir() + "/.index/local")); request.setUseTargetProperties(true); indexPacker.packIndex(request); logger.info("Index for " + storageId + ":" + repositoryId + ":" + IndexTypeEnum.LOCAL.getType() + " was packed successfully."); } finally { context.releaseIndexSearcher(indexSearcher); } }</code><technical_language>![MAJOR](<LINK_1> 'Severity: MAJOR') Avoid throwing null pointer exceptions. [![rule](<LINK_2>](<LINK_0></technical_language>

Target:
public void pack(String storageId, String repositoryId) throws IOException { String contextId = getContextId(storageId, repositoryId, IndexTypeEnum.LOCAL.getType()); logger.info("Packing index for " + contextId + " ..."); final RepositoryIndexer indexer = repositoryIndexManager.getRepositoryIndexer(contextId); if (indexer == null) { throw new NullPointerException("Unable to find RepositoryIndexer by key " + contextId + ". \nAvailable keys are " + repositoryIndexManager.getIndexes().keySet()); } IndexingContext context = indexer.getIndexingContext(); final IndexSearcher indexSearcher = context.acquireIndexSearcher(); try { IndexPackingRequest request = new IndexPackingRequest(context, indexSearcher.getIndexReader(), new File(indexer.getRepositoryBasedir() + "/.index/local")); request.setUseTargetProperties(true); indexPacker.packIndex(request); logger.info("Index for " + storageId + ":" + repositoryId + ":" + IndexTypeEnum.LOCAL.getType() + " was packed successfully."); } finally { context.releaseIndexSearcher(indexSearcher); } }
Source:
<code>public Statistics<?> build() { FloatStatistics stats = (FloatStatistics) super.build(); if (stats.hasNonNullValue()) { Float min = stats.genericGetMin(); Float max = stats.genericGetMax(); if (min.isNaN() || max.isNaN()) { <START> stats.setMinMax(0.0f, 0.0f); <END> ((Statistics<?>) stats).hasNonNullValue = false; } else { if (min == 0.0f) { stats.setMinMax(-0.0f, max); min = -0.0f; } if (max == -0.0f) { stats.setMinMax(min, 0.0f); } } } return stats; }</code><technical_language>This unnecessary. other hand, this is default unset, fine leaving this</technical_language>

Target:
public Statistics<?> build() { FloatStatistics stats = (FloatStatistics) super.build(); if (stats.hasNonNullValue()) { Float min = stats.genericGetMin(); Float max = stats.genericGetMax(); if (min.isNaN() || max.isNaN()) { stats.setMinMax(0.0f, 0.0f); ((Statistics<?>) stats).hasNonNullValue = false; } else { if (Float.compare(min, 0.0f) == 0) { min = -0.0f; stats.setMinMax(min, max); } if (Float.compare(max, -0.0f) == 0) { max = 0.0f; stats.setMinMax(min, max); } } } return stats; }
Source:
<code>public void testTimeOut(String timeout, int size, int lineNumber) throws IOException { XmlSuite suite = new XmlSuite(); suite.setTimeOut(timeout); StringReader stringReader = new StringReader(suite.toXml()); List<String> resultLines = Lists.newArrayList(); List<Integer> lineNumbers = grep(stringReader, "time-out=\"1000\"", resultLines); <START> assertThat(lineNumbers.size()).isEqualTo(size); <END> assertThat(resultLines.size()).isEqualTo(size); if (size > 0) { assertThat(lineNumbers.get(size-1)).isEqualTo(lineNumber); } }</code><technical_language>assertj provides assertion list size</technical_language>

Target:
public void testTimeOut(String timeout, int size, int lineNumber) throws IOException { XmlSuite suite = new XmlSuite(); suite.setTimeOut(timeout); StringReader stringReader = new StringReader(suite.toXml()); List<String> resultLines = Lists.newArrayList(); List<Integer> lineNumbers = grep(stringReader, "time-out=\"1000\"", resultLines); assertThat(lineNumbers).size().isEqualTo(size); assertThat(resultLines).size().isEqualTo(size); if (size > 0) { assertThat(lineNumbers.get(size-1)).isEqualTo(lineNumber); } }
Source:
<code>protected boolean canDoAction() { parameter = getParameters(); if (!super.canDoAction()) { return false; } masterVolume = getGlusterVolume(); if (!masterVolume.isOnline()) { addCanDoActionMessage(VdcBllMessages.ACTION_TYPE_FAILED_GLUSTER_VOLUME_IS_DOWN); addCanDoActionMessageVariable("volumeName", masterVolume.getName()); return false; } <START> List<GlusterGeoRepSession> sessions = getGlusterGeoRepDao().getGeoRepSessions(parameter.getVolumeId()); <END> if (sessions != null) { for (GlusterGeoRepSession session : sessions) { if (session.getMasterVolumeId() == parameter.getVolumeId() && session.getSlaveHostName() == parameter.getSlaveHost() && session.getSlaveVolumeName() == parameter.getSlaveVolumeName()) { addCanDoActionMessage(VdcBllMessages.ACTION_TYPE_FAILED_GEOREP_SESSION_CREATED); return false; } } } if(parameter.getSlaveHost() == null || parameter.getSlaveVolumeName() == null || parameter.getUserName() == null || parameter.getSlavePassword() == null) { return false; } return true; }</code><technical_language>introduce a getGeoRepSession(masterVolumeId, slaveHost, slaveVolumeName)</technical_language>

Target:
protected boolean canDoAction() { parameter = getParameters(); if(parameter == null || parameter.getSlaveHost() == null || parameter.getSlaveVolumeName() == null || parameter.getUserName() == null || parameter.getSlaveUserPassword() == null) { return false; } masterVolume = getGlusterVolume(); if (!masterVolume.isOnline()) { addCanDoActionMessage(VdcBllMessages.ACTION_TYPE_FAILED_GLUSTER_VOLUME_IS_DOWN); addCanDoActionMessageVariable("volumeName", masterVolume.getName()); return false; } List<GlusterGeoRepSession> sessions = getGlusterGeoRepDao().getGeoRepSessions(parameter.getVolumeId()); if (sessions != null) { for (GlusterGeoRepSession session : sessions) { if (session.getMasterVolumeId() == parameter.getVolumeId() && session.getSlaveHostName() == parameter.getSlaveHost() && session.getSlaveVolumeName() == parameter.getSlaveVolumeName()) { addCanDoActionMessage(VdcBllMessages.ACTION_TYPE_FAILED_GEOREP_SESSION_CREATED); return false; } } } return true; }
Source:
<code>private static @Nullable Long nullableNumberToLong(@Nullable Number number) { <START> return number == null ? null : Long.valueOf(number.longValue()); <END> }</code><technical_language>parentheses please ;) return (number == null ? null : Long.valueOf(number.longValue()));</technical_language>

Target:
private static @Nullable Long nullableNumberToLong(@Nullable Number number) { return (number == null ? null : Long.valueOf(number.longValue())); }
Source:
<code>public void onDropItemRequest(DropItemRequest event, EntityRef character) { if (!event.getItem().exists() || !networkSystem.getOwnerEntity(event.getItem()).equals(networkSystem.getOwnerEntity(character))) { return; } EntityRef pickupItem = event.getItem(); EntityRef owner = pickupItem.getOwner(); if (owner.hasComponent(InventoryComponent.class)) { final EntityRef removedItem = inventoryManager.removeItem(owner, EntityRef.NULL, pickupItem, false, 1); if (removedItem != null) { pickupItem = removedItem; } } pickupItem.send(new DropItemEvent(event.getNewPosition())); if (pickupItem.hasComponent(PickupComponent.class)) { PickupComponent pickupComponent = pickupItem.getComponent(PickupComponent.class); <START> pickupComponent.timeToPickUp = 2000; <END> pickupComponent.timeDropped = time.getGameTimeInMs(); pickupItem.saveComponent(pickupComponent); } pickupItem.send(new ImpulseEvent(event.getImpulse())); }</code><technical_language>final thought hardcoded delay amount. itemPickup.prefab define timeToPickUp? configurable out of box. :)</technical_language>

Target:
public void onDropItemRequest(DropItemRequest event, EntityRef character) { if (!event.getItem().exists() || !networkSystem.getOwnerEntity(event.getItem()).equals(networkSystem.getOwnerEntity(character))) { return; } EntityRef pickupItem = event.getItem(); EntityRef owner = pickupItem.getOwner(); if (owner.hasComponent(InventoryComponent.class)) { final EntityRef removedItem = inventoryManager.removeItem(owner, EntityRef.NULL, pickupItem, false, 1); if (removedItem != null) { pickupItem = removedItem; } } pickupItem.send(new DropItemEvent(event.getNewPosition())); if (pickupItem.hasComponent(PickupComponent.class)) { PickupComponent pickupComponent = pickupItem.getComponent(PickupComponent.class); pickupComponent.timeDropped = time.getGameTimeInMs(); pickupItem.saveComponent(pickupComponent); } pickupItem.send(new ImpulseEvent(event.getImpulse())); }
Source:
<code>public void verifyDeleteViaGlobalNotifications() { addVideoViaAjax(); deleteVideo(); <START> Assertion.assertEquals("\"File:" + VideoContent.youtubeVideoURL2name + "\" has been deleted. (undelete)", getFlashMessageText()); <END> PageObjectLogging.log("verifyDeleteVideoGlobalNotifications", "verify that video with following title was deleted: " + VideoContent.youtubeVideoURL2name, true); }</code><technical_language>line shorter</technical_language>

Target:
public void verifyDeleteViaGlobalNotifications() { addVideoViaAjax(VideoContent.youtubeVideoURL2); refreshPage(); deleteVideo(); String deletedVideo = "\"File:" + VideoContent.youtubeVideoURL2name + "\" has been deleted. (undelete)"; Assertion.assertEquals(deletedVideo, getFlashMessageText()); PageObjectLogging.log("verifyDeleteVideoGlobalNotifications", "verify video " + deletedVideo + " was deleted", true); }