auphong2707/dl4se-code-review-dataset huggingface dataset:
Source:
<code>private void setupUI() { setContentView(R.layout.screen_form_entry); setNavBarVisibility(); ImageButton nextButton = (ImageButton)this.findViewById(R.id.nav_btn_next); ImageButton prevButton = (ImageButton)this.findViewById(R.id.nav_btn_prev); nextButton.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { if (!"done".equals(v.getTag())) { FormEntryActivity.this.showNextView(); } else { <START> saveDataToDisk(EXIT, true, getDefaultFormTitle(), false); <END> } } }); prevButton.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { if (!"quit".equals(v.getTag())) { FormEntryActivity.this.showPreviousView(); } else { FormEntryActivity.this.triggerUserQuitInput(); } } }); mViewPane = (ViewGroup)findViewById(R.id.form_entry_pane); mBeenSwiped = false; mAlertDialog = null; mCurrentView = null; mInAnimation = null; mOutAnimation = null; mGestureDetector = new GestureDetector(this); }</code><technical_language>Hey, statement (triggerUserFormComplete) denote distinction form saving for arbitrary reason user input means "I want form exit", some important distinctions, UI wise. I relevant some new UI stuff, I good maintain</technical_language>

Target:
private void setupUI() { setContentView(R.layout.screen_form_entry); setNavBarVisibility(); ImageButton nextButton = (ImageButton)this.findViewById(R.id.nav_btn_next); ImageButton prevButton = (ImageButton)this.findViewById(R.id.nav_btn_prev); nextButton.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { if (!"done".equals(v.getTag())) { FormEntryActivity.this.showNextView(); } else { triggerUserFormComplete(); } } }); prevButton.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { if (!"quit".equals(v.getTag())) { FormEntryActivity.this.showPreviousView(); } else { FormEntryActivity.this.triggerUserQuitInput(); } } }); mViewPane = (ViewGroup)findViewById(R.id.form_entry_pane); mBeenSwiped = false; mAlertDialog = null; mCurrentView = null; mInAnimation = null; mOutAnimation = null; mGestureDetector = new GestureDetector(this); }
Source:
<code>protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_viptab_bar); final ActionBar actionBar = getActionBar(); actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS); actionBar.setDisplayOptions(0, ActionBar.DISPLAY_SHOW_TITLE); actionBar.setDisplayHomeAsUpEnabled(true); mViewPager = new ViewPager(this); mViewPager.setId(R.id.pager); setContentView(mViewPager); mTabsAdapter = new TabsAdapter(this, mViewPager); <START> mTabsAdapter.addTab(actionBar.newTab().setText("Ballot"), BallotFragment.class, null); <END> mTabsAdapter.addTab(actionBar.newTab().setText("Where Do I Vote"), BallotFragment.class, null); mTabsAdapter.addTab(actionBar.newTab().setText("Details"), BallotFragment.class, null); if (savedInstanceState != null) { actionBar.setSelectedNavigationItem(savedInstanceState.getInt("tab", 0)); } }</code><technical_language>text strings resources</technical_language>

Target:
protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_viptab_bar); final ActionBar actionBar = getActionBar(); actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS); actionBar.setDisplayOptions(0, ActionBar.DISPLAY_SHOW_TITLE); actionBar.setDisplayHomeAsUpEnabled(true); mViewPager = new ViewPager(this); mViewPager.setId(R.id.pager); setContentView(mViewPager); mTabsAdapter = new TabsAdapter(this, mViewPager); mTabsAdapter.addTab(actionBar.newTab().setText(R.string.tabbar_ballot_tab), BallotFragment.class, null); mTabsAdapter.addTab(actionBar.newTab().setText(R.string.tabbar_where_to_vote_tab), BallotFragment.class, null); mTabsAdapter.addTab(actionBar.newTab().setText(R.string.tabbar_details_tab), BallotFragment.class, null); if (savedInstanceState != null) { actionBar.setSelectedNavigationItem(savedInstanceState.getInt("tab", 0)); } }
Source:
<code>public boolean shouldShutdown() { <START> LOG.debug( <END> "ContainerProcessManager state: Completed containers: {}, Configured containers: {}, Are there too many failed containers: {}, Is allocator thread alive: {}, Is the ContainerPlacementHandler thread alive: {}", state.completedProcessors.get(), state.processorCount, jobFailureCriteriaMet ? "yes" : "no", allocatorThread.isAlive() ? "yes" : "no", containerPlacementHandlerThread.isAlive() ? "yes" : "no"); if (exceptionOccurred != null) { LOG.error("Exception in container process manager", exceptionOccurred); throw new SamzaException(exceptionOccurred); } return jobFailureCriteriaMet || state.completedProcessors.get() == state.processorCount.get() || !allocatorThread.isAlive() || !containerPlacementHandlerThread.isAlive(); }</code><technical_language>this LOG.info</technical_language>

Target:
public boolean shouldShutdown() { LOG.debug("ContainerProcessManager state: Completed containers: {}, Configured containers: {}, Are there too many failed containers: {}, Is allocator thread alive: {}", state.completedProcessors.get(), state.processorCount, jobFailureCriteriaMet ? "yes" : "no", allocatorThread.isAlive() ? "yes" : "no"); if (exceptionOccurred != null) { LOG.error("Exception in container process manager", exceptionOccurred); throw new SamzaException(exceptionOccurred); } return jobFailureCriteriaMet || state.completedProcessors.get() == state.processorCount.get() || !allocatorThread.isAlive(); }
Source:
<code><START> public String enchantment$getId() { <END> return this.id; }</code><technical_language>This need prefixed</technical_language>

Target:
public String getId() { return this.id; }
Source:
<code>public void configure(Binder binder) { <START> JsonConfigProvider.bind(binder, "druid.null.handling", NullValueHandlingConfig.class); <END> binder.requestStaticInjection(NullHandlingHelper.class); }</code><technical_language>principle of making prefix druid.null.handling? I thought is for grouping properties dot. adding this druid.query, druid.indexer, if covers both, druid.generic</technical_language>

Target:
public void configure(Binder binder) { JsonConfigProvider.bind(binder, "druid.generic", NullValueHandlingConfig.class); binder.requestStaticInjection(NullHandling.class); binder.requestStaticInjection(NullHandling.class); }
Source:
<code>protected void activate(ComponentContext componentContext, Map<String, Object> properties) { <START> s_logger.info("Bundle " + APP_ID + " has started with config!"); <END> updated(properties); }</code><technical_language>features of log4j, change this as: logger.info("Bundle started config!", APP_ID);</technical_language>

Target:
protected void activate(ComponentContext componentContext, Map<String, Object> properties) { logger.info("Bundle has started with config!", APP_ID); updated(properties); }
Source:
<code>public String dismissButtonText() { <START> return "No, thanks"; <END> }</code><technical_language>This translated, too. :)</technical_language>

Target:
public String dismissButtonText() { return NodeL10n.getBase().getString("Toadlet.no"); }
Source:
<code>private void cleanupRequestIfNoRemainingTasks(SingularityTaskCleanup cleanupTask, Map<String, List<String>> requestIdToTaskIds) { String requestId = cleanupTask.getTaskId().getRequestId(); if (requestIdToTaskIds.get(requestId) == null) { LOG.info("Couldn't find tasks for requestId {}", requestId); return; } List<String> requestTasks = requestIdToTaskIds.get(requestId); requestTasks.remove(cleanupTask.getTaskId().getId()); if (requestTasks.isEmpty()) { LOG.info("All tasks for requestId are now killed", requestId); requestManager.createCleanupRequest( new SingularityRequestCleanup( cleanupTask.getUser(), RequestCleanupType.DELETING, System.currentTimeMillis(), <START> Optional.of(Boolean.TRUE), Optional.absent(), requestId, Optional.<String> absent(), <END> Optional.<Boolean> absent(), cleanupTask.getMessage(), Optional.<String> absent(), Optional.<SingularityShellCommand>absent())); } }</code><technical_language>I end losing in flow here. For a delete, end enqueue delete cleanup -> delete cleanup is removed task cleanups enqueued -> task cleanup re-enqueues delete cleanup delete cleanup, lost re-enqueued (where actual load balancer delete happen</technical_language>

Target:
private void cleanupRequestIfNoRemainingTasks(SingularityTaskCleanup cleanupTask, Map<String, List<String>> requestIdToTaskIds) { String requestId = cleanupTask.getTaskId().getRequestId(); if (requestIdToTaskIds.containsKey(requestId)) { List<String> requestTasks = requestIdToTaskIds.get(requestId); requestTasks.remove(cleanupTask.getTaskId().getId()); if (requestTasks.isEmpty()) { LOG.info("All tasks for requestId are now killed, re-enqueueing request cleanup", requestId); requestManager.createCleanupRequest( new SingularityRequestCleanup( cleanupTask.getUser(), RequestCleanupType.DELETING, System.currentTimeMillis(), Optional.of(Boolean.TRUE), cleanupTask.getRemoveFromLoadBalancer(), requestId, Optional.absent(), Optional.absent(), cleanupTask.getMessage(), Optional.absent(), Optional.absent())); } } }
Source:
<code>public void retryTask(Long activityId) { TaskActivity activity = activityService.getTaskActivityById(activityId); <START> retryNumber += 1; <END> handleTask(taskService.getTask(activity.getTask()), activity.getParameters(), true , retryNumber); }</code><technical_language>this is for manual retry, retry immediatelly</technical_language>

Target:
public void retryTask(Long activityId) { TaskActivity activity = activityService.getTaskActivityById(activityId); handleTask(taskService.getTask(activity.getTask()), activity.getParameters(), true); }
Source:
<code>private void onSubscribe(ChannelHandlerContext ctx, StompFrame inboundFrame) { String destination = inboundFrame.headers().getAsString(DESTINATION); String subscriptionId = inboundFrame.headers().getAsString(ID); if (destination == null || subscriptionId == null) { sendErrorFrame("missed header", "Required 'destination' or 'id' header missed", ctx); return; } Set<StompSubscription> subscriptions = <START> chatDestinations.putIfAbsent(destination, new HashSet<StompSubscription>()); <END> if (subscriptions == null) { subscriptions = chatDestinations.get(destination); } final StompSubscription subscription = new StompSubscription(subscriptionId, destination, ctx.channel()); if (subscriptions.contains(subscription)) { sendErrorFrame("duplicate subscription", "Received duplicate subscription id=" + subscriptionId, ctx); return; } subscriptions.add(subscription); ctx.channel().closeFuture().addListener(new ChannelFutureListener() { @Override public void operationComplete(ChannelFuture future) { chatDestinations.get(subscription.destination()).remove(subscription); } }); String receiptId = inboundFrame.headers().getAsString(RECEIPT); if (receiptId != null) { StompFrame receiptFrame = new DefaultStompFrame(StompCommand.RECEIPT); receiptFrame.headers().set(RECEIPT_ID, receiptId); ctx.writeAndFlush(receiptFrame); } }</code><technical_language>I see.. I check get call putIfAbstent ensure allocate a new HashSet time</technical_language>

Target:
private void onSubscribe(ChannelHandlerContext ctx, StompFrame inboundFrame) { String destination = inboundFrame.headers().getAsString(DESTINATION); String subscriptionId = inboundFrame.headers().getAsString(ID); if (destination == null || subscriptionId == null) { sendErrorFrame("missed header", "Required 'destination' or 'id' header missed", ctx); return; } Set<StompSubscription> subscriptions = chatDestinations.get(destination); if (subscriptions == null) { subscriptions = new HashSet<StompSubscription>(); Set<StompSubscription> previousSubscriptions = chatDestinations.putIfAbsent(destination, subscriptions); if (previousSubscriptions != null) { subscriptions = previousSubscriptions; } } final StompSubscription subscription = new StompSubscription(subscriptionId, destination, ctx.channel()); if (subscriptions.contains(subscription)) { sendErrorFrame("duplicate subscription", "Received duplicate subscription id=" + subscriptionId, ctx); return; } subscriptions.add(subscription); ctx.channel().closeFuture().addListener(new ChannelFutureListener() { @Override public void operationComplete(ChannelFuture future) { chatDestinations.get(subscription.destination()).remove(subscription); } }); String receiptId = inboundFrame.headers().getAsString(RECEIPT); if (receiptId != null) { StompFrame receiptFrame = new DefaultStompFrame(StompCommand.RECEIPT); receiptFrame.headers().set(RECEIPT_ID, receiptId); ctx.writeAndFlush(receiptFrame); } }
Source:
<code>private Optional<Filter> getSpatialFilterOption() { <START> if (spatialFilters == null || spatialFilters.isEmpty()) { <END> return Optional.empty(); } else if (spatialFilters.size() == 1) { return Optional.ofNullable(spatialFilters.get(0)); } else { return Optional.ofNullable(FILTER_FACTORY.or(spatialFilters)); } }</code><technical_language>CollectionUtils.isNotEmpty(spatialFilters)</technical_language>

Target:
private Optional<Filter> getSpatialFilterOption() { if (CollectionUtils.isEmpty(spatialFilters)) { return Optional.empty(); } else if (spatialFilters.size() == 1) { return Optional.ofNullable(spatialFilters.get(0)); } else { return Optional.ofNullable(FILTER_FACTORY.or(spatialFilters)); } }
Source:
<code><START> public TDSavedQuery updateSavedQuery(String name, TDSavedQueryUpdateRequest request) <END> { List<TDSavedQuery> savedQueries = listSavedQueries(); for (TDSavedQuery q : savedQueries) { if (q.getName().equals(name)) { TDSaveQueryRequest fullRequest = request.merge(q); return updateSavedQuery(fullRequest); } } throw new TDClientHttpNotFoundException(String.format("Saved query %s is not found", name)); }</code><technical_language>api code, support partial update, I implement this method in a safe manner</technical_language>

Target:
public TDSavedQuery updateSavedQuery(String name, TDSavedQueryUpdateRequest request) { String json = request.toJson(); TDSavedQuery result = doPost( buildUrl("/v3/schedule/update", name), ImmutableMap.<String, String>of(), Optional.of(json), TDSavedQuery.class); return result; }
Source:
<code>private Node tryFoldKnownMethods(Node subtree) { subtree = tryFoldArrayJoin(subtree); subtree = tryToFoldArrayConcat(subtree); if (subtree.isCall()) { <START> Node callTarget = subtree.getFirstChild(); <END> if (callTarget == null) { return subtree; } if (NodeUtil.isGet(callTarget)) { if (isASTNormalized() && callTarget.getFirstChild().isQualifiedName()) { switch (callTarget.getFirstChild().getQualifiedName()) { case "Math": return tryFoldKnownMathMethods(subtree, callTarget); default: } } subtree = tryFoldKnownStringMethods(subtree, callTarget); } else if (callTarget.isName()) { subtree = tryFoldKnownNumericMethods(subtree, callTarget); } } return subtree; }</code><technical_language>if (callTarget == null) check is wrong, call nodes a child. please drop check change initial assignment this? Node callTarget = checkNotNull(subtree.getFirstChild());</technical_language>

Target:
private Node tryFoldKnownMethods(Node subtree) { checkArgument(subtree.isCall(), subtree); subtree = tryFoldArrayJoin(subtree); if (subtree.isCall()) { subtree = tryToFoldArrayConcat(subtree); checkState(subtree.isCall(), subtree); Node callTarget = checkNotNull(subtree.getFirstChild()); if (NodeUtil.isGet(callTarget)) { if (isASTNormalized() && callTarget.getFirstChild().isQualifiedName()) { switch (callTarget.getFirstChild().getQualifiedName()) { case "Math": return tryFoldKnownMathMethods(subtree, callTarget); default: } } subtree = tryFoldKnownStringMethods(subtree, callTarget); } else if (callTarget.isName()) { subtree = tryFoldKnownNumericMethods(subtree, callTarget); } } return subtree; }
Source:
<code>public void testOpenTxnRelication() throws IOException { String name = testName.getMethodName(); String dbName = createDB(name, driver); <START> run("CREATE TABLE " + dbName + ".unptned(a int) PARTITIONED BY (load_date date) CLUSTERED BY(a) INTO 3 BUCKETS STORED AS ORC TBLPROPERTIES ('transactional'='true')", driver); <END> run("CREATE TABLE " + dbName + ".ptned(a string) partitioned by (b int) STORED AS TEXTFILE", driver); run("CREATE TABLE " + dbName + ".unptned_empty(a string) STORED AS TEXTFILE", driver); run("CREATE TABLE " + dbName + ".ptned_empty(a string) partitioned by (b int) STORED AS TEXTFILE", driver); advanceDumpDir(); run("REPL DUMP " + dbName, driver); String replDumpLocn = getResult(0,0,driver); String replDumpId = getResult(0,1,true,driver); LOG.info("Dumped to with id {}",replDumpLocn,replDumpId); run("REPL LOAD " + dbName + "_dupe FROM '" + replDumpLocn + "'", driverMirror); run("INSERT INTO " + dbName + ".unptned values (1)", driver); advanceDumpDir(); run("REPL DUMP " + dbName + " FROM " + replDumpId, driver); String incrementalDumpLocn = getResult(0,0,driver); String incrementalDumpId = getResult(0,1,true,driver); LOG.info("Dumped to with id {}", incrementalDumpLocn, incrementalDumpId); run("REPL LOAD " + dbName + "_dupe FROM '"+incrementalDumpLocn+"'", driverMirror); run("REPL STATUS " + dbName + "_dupe", driverMirror); verifyResults(new String[] {incrementalDumpId}, driverMirror); String[] unptn_data = new String[]{ "1" }; String[] empty = new String[]{}; }</code><technical_language>Table name unptned is partitioned. name is acid table</technical_language>

Target:
public void testOpenTxnRelication() throws IOException { String name = testName.getMethodName(); String dbName = createDB(name, driver); advanceDumpDir(); Tuple bootstrap = bootstrapLoadAndVerify(dbName, "default1"); run("CREATE TABLE " + dbName + ".acid(a int) PARTITIONED BY (load_date date) CLUSTERED BY(a) INTO 3 BUCKETS STORED AS ORC TBLPROPERTIES ('transactional'='true')", driver); bootstrap = incrementalLoadAndVerify(dbName,bootstrap.lastReplId,"default1"); run("REPL STATUS " + dbName + "_dupe", driverMirror); verifyResults(new String[] {bootstrap.lastReplId}, driverMirror); }
Source:
<code>public String toString() { return "AMQPMessage [durable=" + isDurable() + ", messageID=" + getMessageID() + ", address=" + getAddress() + ", size=" + getEncodeSize() + <START> ", ApplicationProperties=" + getApplicationProperties() + <END> ", properties=" + getProperties() + ", extraProperties = " + getExtraProperties() + "]"; }</code><technical_language>nit: lowecase "a" - applicationProperties</technical_language>

Target:
public String toString() { return "AMQPMessage [durable=" + isDurable() + ", messageID=" + getMessageID() + ", address=" + getAddress() + ", size=" + getEncodeSize() + ", applicationProperties=" + getApplicationProperties() + ", properties=" + getProperties() + ", extraProperties = " + getExtraProperties() + "]"; }
Source:
<code><START> public PooledLockFactory(boolean fair) { <END> this.fairness = fair; }</code><technical_language>Constructor package private</technical_language>

Target:
PooledLockFactory(boolean fair) { this.fairness = fair; }
Source:
<code>public String toString() { return String.format( "%s, targetVdsId = %s, action = %s, ip = %s, port = %s, type = %s, user = %s, " + "password = ***, options = '%s', policy = '%s'", super.toString(), getTargetVdsID(), getAction(), <START> getFenceAgent().getIp(), <END> getFenceAgent().getPort(), getFenceAgent().getType(), getFenceAgent().getUser(), getFenceAgent().getOptions(), getFencingPolicy()); }</code><technical_language>worth call getFenceAgent set a "agent" variable</technical_language>

Target:
public String toString() { return String.format( "%s, targetVdsId = %s, action = %s, agent = '%', policy = '%s'", super.toString(), getTargetVdsID(), getAction(), getFenceAgent(), getFencingPolicy()); }
Source:
<code>public Collection<StatisticType> getAll() { <START> return ImmutableList.copyOf(this.universalStatisticMappings.values()); <END> }</code><technical_language>This a Set cached</technical_language>

Target:
public Collection<StatisticType> getAll() { return ImmutableList.copyOf(this.statisticTypeMappings.values()); }
Source:
<code>public boolean isArray(final Object o) { <START> if (o instanceof List) { <END> return true; } return false; }</code><technical_language>this return (o instanceof List)</technical_language>

Target:
public boolean isArray(final Object o) { return o instanceof List; }
Source:
<code>protected Control createSWTControl(Composite parent) throws DatabindingFailedException { final Control control = super.createSWTControl(parent); <START> final ComposedAdapterFactory composedAdapterFactory = new ComposedAdapterFactory(new AdapterFactory[] { <END> new ReflectiveItemProviderAdapterFactory(), new ComposedAdapterFactory(ComposedAdapterFactory.Descriptor.Registry.INSTANCE) }); adapterFactoryItemDelegator = new AdapterFactoryItemDelegator(composedAdapterFactory); return control; }</code><technical_language>this disposed</technical_language>

Target:
protected Control createSWTControl(Composite parent) throws DatabindingFailedException { final Control control = super.createSWTControl(parent); composedAdapterFactory = new ComposedAdapterFactory(new AdapterFactory[] { new ReflectiveItemProviderAdapterFactory(), new ComposedAdapterFactory(ComposedAdapterFactory.Descriptor.Registry.INSTANCE) }); adapterFactoryItemDelegator = new AdapterFactoryItemDelegator(composedAdapterFactory); return control; }
Source:
<code>public void edit(VmNextRunConfigurationModel object) { driver.edit(object); cpuPanel.setVisible(object.isCpuPluggable()); <START> changedFields.setHTML(SafeHtmlUtils.fromSafeConstant(object.getChangedFields())); <END> }</code><technical_language>this for this reasons: - HTML fromSafeConstant is risky control message in localize() method here. If DB, if of fields in getChangedFields() a html special char (e.g. '<') page broken. mention is a (small) potential for XSS if able control name of of fields (not today, imagine in future). - nicer visualized list items. If VmNextRunConfigurationModel.getChangedFields() a list of strings, do this: SafeHtmlBuilder changedFields = new SafeHtmlBuilder(); for (String field: object.getChangedFields()) { SafeHtml escapedField = SafeHtmlUtils.htmlEscape(field); changedFields.append(templates.listItem(escapedField)); } changedFields.setHTML(changedFields.toSafeHtml()); setHTML is safe fields escaped</technical_language>

Target:
public void edit(VmNextRunConfigurationModel object) { driver.edit(object); cpuPanel.setVisible(object.isCpuPluggable()); SafeHtmlBuilder changedFieldsBuilder = new SafeHtmlBuilder(); for (String field: object.getChangedFields()) { String escapedField = SafeHtmlUtils.htmlEscape(field); changedFieldsBuilder.append(listItem(escapedField, templates)); } changedFields.setHTML(changedFieldsBuilder.toSafeHtml()); }
Source:
<code><START> public IEvaluationResult evaluateExpression(final EObject target, final String expression) { <END> final IInterpreter interpreter = getInterpreter(expression); IEvaluationResult result = null; try { if (interpreter instanceof IInterpreterWithDiagnostic) { result = ((IInterpreterWithDiagnostic) interpreter).evaluateExpression(target, expression); } else { final Object value = interpreter.evaluate(target, expression); result = new IEvaluationResult() { @Override public Object getValue() { return value; } @Override public Diagnostic getDiagnostic() { return Diagnostic.OK_INSTANCE; } }; } } catch (EvaluationException evx) { this.evaluationErrorHandler.get().handleException(evx); result = creatErrorResult(evx); } catch (RuntimeException rex) { this.evaluationErrorHandler.get().handleException(rex); result = creatErrorResult(rex); } return result; }</code><technical_language>"throws EvaluationException" removed this methpd others</technical_language>

Target:
public IEvaluationResult evaluateExpression(final EObject target, final String expression) throws EvaluationException { final IInterpreter interpreter = getInterpreter(expression); IEvaluationResult result = null; try { if (interpreter instanceof IInterpreterWithDiagnostic) { result = ((IInterpreterWithDiagnostic) interpreter).evaluateExpression(target, expression); } else { final Object value = interpreter.evaluate(target, expression); result = new IEvaluationResult() { @Override public Object getValue() { return value; } @Override public Diagnostic getDiagnostic() { return Diagnostic.OK_INSTANCE; } }; } } catch (EvaluationException evx) { this.evaluationErrorHandler.get().handleException(evx); result = creatErrorResult(evx); } catch (RuntimeException rex) { this.evaluationErrorHandler.get().handleException(rex); result = creatErrorResult(rex); } return result; }
Source:
<code>static void validateHeapHeadroom(NodeMemoryConfig config, long availableMemory) { long maxQueryTotalMemoryPerNode = config.getMaxQueryTotalMemoryPerNode().toBytes(); long heapHeadroom = config.getHeapHeadroom().toBytes(); if (heapHeadroom < 0 || heapHeadroom + maxQueryTotalMemoryPerNode > availableMemory) { throw new IllegalArgumentException( <START> format("Invalid memory configuration. The sum of max query memory per node (%s) and heap headroom (%s) cannot be larger than the available heap memory (%s)", <END> maxQueryTotalMemoryPerNode, heapHeadroom, availableMemory)); } }</code><technical_language>max total memory, max memory</technical_language>

Target:
static void validateHeapHeadroom(NodeMemoryConfig config, long availableMemory) { long maxQueryTotalMemoryPerNode = config.getMaxQueryTotalMemoryPerNode().toBytes(); long heapHeadroom = config.getHeapHeadroom().toBytes(); if (heapHeadroom < 0 || heapHeadroom + maxQueryTotalMemoryPerNode > availableMemory) { throw new IllegalArgumentException( format("Invalid memory configuration. The sum of max total query memory per node (%s) and heap headroom (%s) cannot be larger than the available heap memory (%s)", maxQueryTotalMemoryPerNode, heapHeadroom, availableMemory)); } }
Source:
<code>private static Map<Integer,Long> fetchClusterCountsFromModel(JavaRDD<Vector> trainPointData, final KMeansModel model) { return trainPointData.map(new Function<Vector, Integer>() { @Override <START> public Integer call(Vector vector) throws Exception { <END> return model.predict(vector); } }).countByValue(); }</code><technical_language>This need throw Exception BTW</technical_language>

Target:
private static Map<Integer,Long> fetchClusterCountsFromModel(JavaRDD<Vector> trainPointData, final KMeansModel model) { return trainPointData.map(new Function<Vector, Integer>() { @Override public Integer call(Vector vector) { return model.predict(vector); } }).countByValue(); }
Source:
<code>public Object handle(CommandMessage<?> command) throws Exception { VersionedAggregateIdentifier iv = commandTargetResolver.resolveTarget(command); Aggregate<T> inst = repository.loadOrCreate(iv.getIdentifier(), iv.getVersion(), factoryMethod); Object result = inst.handle(command); assertThat(inst.identifier(), id -> id != null && id.equals(iv.getIdentifier()), "Identifier must be set after handling the message"); <START> return result; <END> }</code><technical_language>creation of a new aggregate, *always* return aggregate's identifier callee. result return aggregate implementation returns in @CommandHandler annotated method. decided overrule aggregate identifier return command handler return value? current point of view this be: 1. Return aggregate identifier if a new aggregate is created. 2. Return command handler's return if aggregate existed</technical_language>

Target:
public Object handle(CommandMessage<?> command) throws Exception { VersionedAggregateIdentifier iv = commandTargetResolver.resolveTarget(command); Aggregate<T> inst = repository.loadOrCreate(iv.getIdentifier(), factoryMethod); Object result = inst.handle(command); assertThat(inst.identifier(), id -> id != null && id.equals(iv.getIdentifier()), "Identifier must be set after handling the message"); return result; }
Source:
<code>public ListenableFuture<?> reserve(QueryId queryId, String allocationTag, long bytes) { checkArgument(bytes >= 0, "bytes is negative"); ListenableFuture<?> result; if (bytes != 0) { boolean done = false; <START> while (!done) { <END> if (queryMemoryReservations.computeIfPresent(queryId, (k, v) -> v + bytes) != null) { done = true; updateTaggedMemoryAllocations(queryId, allocationTag, bytes, false); } else { synchronized (this) { if (queryMemoryReservations.putIfAbsent(queryId, bytes) == null) { done = true; updateTaggedMemoryAllocations(queryId, allocationTag, bytes, true); } } } } } synchronized (this) { reservedBytes += bytes; if (getFreeBytes() <= 0) { if (future == null) { future = NonCancellableMemoryFuture.create(); } checkState(!future.isDone(), "future is already completed"); result = future; } else { result = NOT_BLOCKED; } } onMemoryReserved(); return result; }</code><technical_language>I done break is clear? while (true) { if (queryMemoryReservations.computeIfPresent(queryId, (k, v) -> v + bytes) != null) { // queryMemoryReservations is updated, // flag putQueryIdAbsent = false prevent adding new queryId taggedMemoryAllocations // in race condition queryId removed updateTaggedMemoryAllocations(queryId, allocationTag, bytes, false); break; } synchronized (this) { if (queryMemoryReservations.putIfAbsent(queryId, bytes) == null) { // queryId is successfully put queryMemoryReservations, // safe update taggedMemoryAllocations updateTaggedMemoryAllocations(queryId, allocationTag, bytes, true); break; } } }</technical_language>

Target:
public ListenableFuture<?> reserve(QueryId queryId, String allocationTag, long bytes) { checkArgument(bytes >= 0, "bytes is negative"); ListenableFuture<?> result; if (bytes != 0) { while (true) { if (queryMemoryReservations.computeIfPresent(queryId, (ignored, value) -> value + bytes) != null) { updateTaggedMemoryAllocations(queryId, allocationTag, bytes, false); break; } synchronized (this) { if (queryMemoryReservations.putIfAbsent(queryId, bytes) == null) { updateTaggedMemoryAllocations(queryId, allocationTag, bytes, true); break; } } } } synchronized (this) { reservedBytes += bytes; if (getFreeBytes() <= 0) { if (future == null) { future = NonCancellableMemoryFuture.create(); } checkState(!future.isDone(), "future is already completed"); result = future; } else { result = NOT_BLOCKED; } } onMemoryReserved(); return result; }
Source:
<code>public void changeHashedPassword(User user, String hashedPassword, String salt) throws APIException { <START> OpenmrsUtil.validatePassword(user.getUsername(), hashedPassword, user.getSystemId()); <END> dao.changeHashedPassword(user, hashedPassword, salt); }</code><technical_language>this work? validate method i expects hashed passwords, validate this, ticket changePassword methods. I delegate changePassword method validates password centralize code</technical_language>

Target:
public void changeHashedPassword(User user, String hashedPassword, String salt) throws APIException { dao.changeHashedPassword(user, hashedPassword, salt); }
Source:
<code>private ByteBuffer readNextChunk() throws IOException { int chunkSize = readChunkSize(); byte[] buffer = new byte[chunkSize]; int read = in.read( buffer ); <START> if(read == -1) <END> { throwConnectionLost(); } else if(read != chunkSize) { throw new UnsupportedOperationException( "Unable to read chunk, chunk split across packet boundaries not " + "yet supported." ); } ByteBuffer chunk = ByteBuffer.allocate( chunkSize ); chunk.put( buffer ); chunk.flip(); return chunk; }</code><technical_language>A question purpose of this -1 test. I do understand this -1 works in Socket InputStream. I expect int read = in.read( buffer ) block read get InputStream, exception is thrown. if get exception, get this if</technical_language>

Target:
private ByteBuffer readNextChunk() throws IOException { int chunkSize = readChunkSize(); byte[] buffer = new byte[chunkSize]; InputStreams.readAll( in, buffer ); return ByteBuffer.wrap( buffer ); }
Source:
<code>public void testApplication() throws IOException, Exception { try { File file = new File(FILE_PATH); file.delete(); getConfig(); <START> qNameToUse = conf.get("dt.operator.amqIn.prop.subject"); <END> createAMQClient(); writeToQueue(); closeClient(); LocalMode.Controller lc = asyncRun(); chkOutput(); compare(); lc.shutdown(); broker.stop(); } catch (ConstraintViolationException e) { Assert.fail("constraint violations: " + e.getConstraintViolations()); } }</code><technical_language>Minor point: qNameToUse brokerURL retrieved in getConfig() whereever needed</technical_language>

Target:
public void testApplication() throws IOException, Exception { try { File file = new File(FILE_PATH); file.delete(); getConfig(); createAMQClient(brokerURL); writeToQueue(); closeClient(); LocalMode.Controller lc = asyncRun(); chkOutput(); compare(); lc.shutdown(); broker.stop(); } catch (ConstraintViolationException e) { Assert.fail("constraint violations: " + e.getConstraintViolations()); } }
Source:
<code>private boolean updateCommandWaitingForEvent(CommandEntity cmdEntity) { if <START> (cmdEntity.isWaitingForEVent()) <END> { CallbackTiming callbackTiming = commandsRepository.getCallbackTiming(cmdEntity.getRootCommandId()); if (callbackTiming.getWaitOnEventEndTime() > System.currentTimeMillis()) { cmdEntity.setWaitingForEVent(false); return false; } return true; } return false; }</code><technical_language>cmdEntity null? if need check for null</technical_language>

Target:
private boolean updateCommandWaitingForEvent(CommandEntity cmdEntity) { if (cmdEntity.isWaitingForEVent()) { CallbackTiming callbackTiming = commandsRepository.getCallbackTiming(cmdEntity.getRootCommandId()); if (callbackTiming.getWaitOnEventEndTime() > System.currentTimeMillis()) { commandsRepository.removeEventSubscription(cmdEntity.getId()); cmdEntity.setWaitingForEVent(false); return false; } return true; } return false; }
Source:
<code>public void setDecimal128(long columnKey, Decimal128 value) { <START> <END> }</code><technical_language>missed throwing IllegalStateException</technical_language>

Target:
public void setDecimal128(long columnKey, Decimal128 value) { throw new IllegalStateException(QUERY_NOT_RETURNED_MESSAGE); }
Source:
<code>public void testReportTitle() throws IOException { Path htmlPath = Paths.get(System.getProperty("user.dir"), "target", "site", "project-reports.html"); assertThat(Files.exists(htmlPath), is(true)); Document document = Jsoup.parse(htmlPath.toFile(), Charset.forName("UTF-8").toString()); Elements leftNav = document.select("#leftColumn [href=\"japicmp.html\"]"); assertThat(leftNav.attr("title"), is("japicmp")); assertThat(leftNav.text(), is("japicmp")); Elements overviewRow = document.select("#bodyColumn tr:has([href=\"japicmp.html\"])"); Elements link = overviewRow.select("[href=\"japicmp.html\"]"); assertThat(link.text(), is("japicmp")); Elements description = overviewRow.select("td:eq(1)"); assertThat(description.text(), is("Source compatibility of japicmp-test-v2-0.8.2-SNAPSHOT.jar against japicmp-test-v2-0.8.2-SNAPSHOT.jar")); <START> } <END></code><technical_language>version of jar archives hard-coded</technical_language>

Target:
public void testReportTitle() throws IOException { Path htmlPath = Paths.get(System.getProperty("user.dir"), "target", "site", "project-reports.html"); assertThat(Files.exists(htmlPath), is(true)); Document document = Jsoup.parse(htmlPath.toFile(), "UTF-8"); Elements leftNav = document.select("#leftColumn [href=\"japicmp.html\"]"); assertThat(leftNav.attr("title"), is("japicmp")); assertThat(leftNav.text(), is("japicmp")); Elements overviewRow = document.select("#bodyColumn tr:has([href=\"japicmp.html\"])"); Elements link = overviewRow.select("[href=\"japicmp.html\"]"); assertThat(link.text(), is("japicmp")); Elements description = overviewRow.select("td:eq(1)"); String projectVersion = System.getProperty("project.version"); assertThat(description.text(), is("Source compatibility of japicmp-test-v2-"+projectVersion + ".jar against japicmp-test-v1-"+ projectVersion + ".jar")); }
Source:
<code>protected boolean canDoAction() { if (!super.canDoAction()) { return false; } if (getMissingServerHooks().isEmpty()) { addCanDoActionMessage(VdcBllMessages.ACTION_TYPE_FAILED_GLUSTER_HOOK_NO_CONFLICT_SERVERS); return false; } for (GlusterServerHook serverHook: getMissingServerHooks()) { VDS vds = getVdsDAO().get(serverHook.getServerId()); if (vds == null || vds.getStatus() != VDSStatus.Up) { <START> String vdsName = vds != null ? vds.getName() : "NO SERVER"; <END> setVdsName(vdsName); addCanDoActionMessage(VdcBllMessages.ACTION_TYPE_FAILED_SERVER_STATUS_NOT_UP); addCanDoActionMessage(String.format("$%1$s %2$s", "VdsName", vdsName)); return false; } } return true; }</code><technical_language>consider this a constant</technical_language>

Target:
protected boolean canDoAction() { if (!super.canDoAction()) { return false; } if (getMissingServerHooks().isEmpty()) { addCanDoActionMessage(VdcBllMessages.ACTION_TYPE_FAILED_GLUSTER_HOOK_NO_CONFLICT_SERVERS); return false; } for (GlusterServerHook serverHook: getMissingServerHooks()) { VDS vds = getVdsDAO().get(serverHook.getServerId()); if (vds == null || vds.getStatus() != VDSStatus.Up) { String vdsName = vds != null ? vds.getName() : GlusterConstants.NO_SERVER; setVdsName(vdsName); addCanDoActionMessage(VdcBllMessages.ACTION_TYPE_FAILED_SERVER_STATUS_NOT_UP); addCanDoActionMessage(String.format("$%1$s %2$s", "VdsName", vdsName)); return false; } } return true; }
Source:
<code>private void createMongoIndex(final DBCollection dbColl, final DBObject keys, final DBObject options) { try { dbColl.createIndex(keys, options); } catch (MongoCommandException ex) { <START> if (options.containsField("dropOutdated") && getBoolean(options, "dropOutdated", false)) { <END> final BsonDocument errorDocument = ex.getResponse(); if (errorDocument.getInt32("code").intValue() == 85) { String indexName; if (options.containsKey("name")) { indexName = getString(options, "name"); } else { final BsonString errorMessage = errorDocument.getString("errmsg"); final String[] errorSplit = errorMessage.getValue().split("\\s"); indexName = errorSplit[3]; } dbColl.dropIndex(indexName); dbColl.createIndex(keys, options); return; } } throw ex; } }</code><technical_language>A cast BasicDBObject is sufficient access methods defined there. Also, checking contains is redundant in this case default get is false</technical_language>

Target:
private void createMongoIndex(final DBCollection dbColl, final DBObject keys, final DBObject options) { try { dbColl.createIndex(keys, options); } catch (MongoCommandException ex) { final BasicDBObject basicOptions = (BasicDBObject) options; if (basicOptions.getBoolean("dropOutdated", false)) { final BsonDocument errorDocument = ex.getResponse(); if (errorDocument.getInt32("code").intValue() == 85) { String indexName; if (options.containsKey("name")) { indexName = basicOptions.getString("name"); } else { final BsonString errorMessage = errorDocument.getString("errmsg"); final String[] errorSplit = errorMessage.getValue().split("\\s"); indexName = errorSplit[3]; } dbColl.dropIndex(indexName); dbColl.createIndex(keys, options); return; } } throw ex; } }
Source:
<code>protected boolean canDoAction() { if (getVm() == null) { addCanDoActionMessage(VdcBllMessages.ACTION_TYPE_FAILED_VM_NOT_EXIST); return false; } if (!canRunActionOnNonManagedVm()) { return false; } if (!isSpecifiedDisksExist(getParameters().getDisks())) { return false; } VmValidator vmValidator = createVmValidator(); SnapshotsValidator snapshotValidator = createSnapshotValidator(); StoragePoolValidator spValidator = createStoragePoolValidator(); if (!(validateVM(vmValidator) && validate(spValidator.isUp()) && validate(vmValidator.vmNotIlegal()) && validate(vmValidator.vmNotLocked()) && validate(snapshotValidator.vmNotDuringSnapshot(getVmId())) && validate(snapshotValidator.vmNotInPreview(getVmId())) && validate(vmValidator.vmNotDuringMigration()) && validate(vmValidator.vmNotRunningStateless()))) { return false; } List<DiskImage> disksList = getDisksListForChecks(); <START> MultipleStorageDomainsValidator sdValidator = createMultipleStorageDomainsValidator(disksList); <END> if (disksList.size() > 0) { DiskImagesValidator diskImagesValidator = createDiskImageValidator(disksList); if (!(validate(diskImagesValidator.diskImagesNotLocked()) && validate(diskImagesValidator.diskImagesNotIllegal()) && validate(sdValidator.allDomainsExistAndActive()))) { return false; } } List<DiskImage> cloneDisksList = getMemoryImageBuilder().getDisksToBeCreated(); if (!validateSpaceRequirements(sdValidator, disksList, cloneDisksList)) { return false; } if (getParameters().isSaveMemory() && Guid.Empty.equals(getStorageDomainIdForVmMemory())) { return failCanDoAction(VdcBllMessages.ACTION_TYPE_FAILED_NO_SUITABLE_DOMAIN_FOUND); } return true; }</code><technical_language>part of this patch, MSD created a list contains diskList cloneDiskList</technical_language>

Target:
protected boolean canDoAction() { if (getVm() == null) { addCanDoActionMessage(VdcBllMessages.ACTION_TYPE_FAILED_VM_NOT_EXIST); return false; } if (!canRunActionOnNonManagedVm()) { return false; } if (!isSpecifiedDisksExist(getParameters().getDisks())) { return false; } VmValidator vmValidator = createVmValidator(); SnapshotsValidator snapshotValidator = createSnapshotValidator(); StoragePoolValidator spValidator = createStoragePoolValidator(); if (!(validateVM(vmValidator) && validate(spValidator.isUp()) && validate(vmValidator.vmNotIlegal()) && validate(vmValidator.vmNotLocked()) && validate(snapshotValidator.vmNotDuringSnapshot(getVmId())) && validate(snapshotValidator.vmNotInPreview(getVmId())) && validate(vmValidator.vmNotDuringMigration()) && validate(vmValidator.vmNotRunningStateless()))) { return false; } List<DiskImage> disksList = getDisksListForChecks(); if (disksList.size() > 0) { DiskImagesValidator diskImagesValidator = createDiskImageValidator(disksList); if (!(validate(diskImagesValidator.diskImagesNotLocked()) && validate(diskImagesValidator.diskImagesNotIllegal()))) { return false; } } if (!validateStorageDomains(disksList)) { return false; } if (getParameters().isSaveMemory() && Guid.Empty.equals(getStorageDomainIdForVmMemory())) { return failCanDoAction(VdcBllMessages.ACTION_TYPE_FAILED_NO_SUITABLE_DOMAIN_FOUND); } return true; }
Source:
<code>private void errorOccurred(RecordFlow triggeringFlow, Throwable t) { synchronized (lockObject) { if (!hasValidSubscriber()) { log.warn( "{}: [SubscriptionLifetime] - (FanOutRecordsPublisher#errorOccurred) @ id: -- Subscriber is null", shardId, flow.connectionStartedAt, flow.subscribeToShardId); return; } String category = throwableCategory(t); if (isActiveFlow(triggeringFlow)) { if (flow != null) { log.warn("{}: [SubscriptionLifetime] - (FanOutRecordsPublisher#errorOccurred) @ id: -- {}", shardId, flow.connectionStartedAt, flow.subscribeToShardId, category, t); flow.cancel(); } log.debug("{}: outstandingRequests zeroing from {}", shardId, outstandingRequests); outstandingRequests = 0; try { <START> if (t.getCause() instanceof ResourceNotFoundException) { <END> log.warn( "{}: Could not call SubscribeToShard successfully because shard no longer exists. Marking shard for completion.", shardId); subscriber.onNext(ProcessRecordsInput.builder().records(Collections.emptyList()) .isAtShardEnd(true).build()); subscriber.onComplete(); } else { subscriber.onError(t); } } catch (Throwable innerThrowable) { log.warn("{}: Exception while calling subscriber.onError", shardId, innerThrowable); } subscriber = null; flow = null; } else { if (triggeringFlow != null) { log.debug( "{}: [SubscriptionLifetime] - (FanOutRecordsPublisher#errorOccurred) @ id: -- -> triggeringFlow wasn't the active flow. Didn't dispatch error", shardId, triggeringFlow.connectionStartedAt, triggeringFlow.subscribeToShardId, category); triggeringFlow.cancel(); } } } }</code><technical_language>move this a method</technical_language>

Target:
private void errorOccurred(RecordFlow triggeringFlow, Throwable t) { synchronized (lockObject) { if (!hasValidSubscriber()) { log.warn( "{}: [SubscriptionLifetime] - (FanOutRecordsPublisher#errorOccurred) @ id: -- Subscriber is null", shardId, flow.connectionStartedAt, flow.subscribeToShardId); return; } String category = throwableCategory(t); if (isActiveFlow(triggeringFlow)) { if (flow != null) { log.warn("{}: [SubscriptionLifetime] - (FanOutRecordsPublisher#errorOccurred) @ id: -- {}", shardId, flow.connectionStartedAt, flow.subscribeToShardId, category, t); flow.cancel(); } log.debug("{}: outstandingRequests zeroing from {}", shardId, outstandingRequests); outstandingRequests = 0; try { handleFlowError(t); } catch (Throwable innerThrowable) { log.warn("{}: Exception while calling subscriber.onError", shardId, innerThrowable); } subscriber = null; flow = null; } else { if (triggeringFlow != null) { log.debug( "{}: [SubscriptionLifetime] - (FanOutRecordsPublisher#errorOccurred) @ id: -- -> triggeringFlow wasn't the active flow. Didn't dispatch error", shardId, triggeringFlow.connectionStartedAt, triggeringFlow.subscribeToShardId, category); triggeringFlow.cancel(); } } } }
Source:
<code>public void onNext(SubscriptionUpdate value) { SubscriptionUpdate.UpdateCase updateCase = value.getUpdateCase(); switch (updateCase) { case ENTITY_UPDATES: value.getEntityUpdates() .getUpdateList() .stream() .map(EntityStateUpdate::getState) <START> .map(any -> (M) unpack(any)) <END> .forEach(delegate::onNext); break; case EVENT_UPDATES: value.getEventUpdates() .getEventList() .stream() .map(e -> (M) e) .forEach(delegate::onNext); break; case UPDATE_NOT_SET: default: throw unsupported("Unsupported update case `%s`.", updateCase); } }</code><technical_language>EntityStateUpdate store a state no_longer_matching set true instead. this line fail in this case. In general, lack of telling client some entity state previously matched subscription criteria anymore</technical_language>

Target:
public void onNext(SubscriptionUpdate value) { UpdateCase updateCase = value.getUpdateCase(); switch (updateCase) { case ENTITY_UPDATES: value.getEntityUpdates() .getUpdateList() .stream() .filter(u -> u.getKindCase() == EntityStateUpdate.KindCase.STATE) .map(EntityStateUpdate::getState) .map(any -> (M) unpack(any)) .forEach(delegate::onNext); break; case EVENT_UPDATES: value.getEventUpdates() .getEventList() .stream() .map(e -> (M) e) .forEach(delegate::onNext); break; case UPDATE_NOT_SET: default: throw unsupported("Unsupported update case `%s`.", updateCase); } }
Source:
<code>public KafkaEmitter(KafkaEmitterConfig config, ObjectMapper jsonMapper) { this.config = config; this.jsonMapper = jsonMapper; this.producer = getKafkaProducer(config); this.producerCallback = new Callback() { @Override public void onCompletion(RecordMetadata recordMetadata, Exception e) { if(e != null) { <START> log.warn(e, "Exception is occured! Retry."); <END> } } }; }</code><technical_language>Exception is occured! Retry. - > Exception occurred</technical_language>

Target:
public KafkaEmitter(KafkaEmitterConfig config, ObjectMapper jsonMapper) { this.config = config; this.jsonMapper = jsonMapper; this.producer = setKafkaProducer(); this.producerCallback = setProducerCallback(); long queueMemoryBound = Long.parseLong(this.config.getKafkaProducerConfig() .getOrDefault(ProducerConfig.BUFFER_MEMORY_CONFIG, "33554432")); this.metricQueue = new MemoryBoundLinkedBlockingQueue<>(queueMemoryBound); this.alertQueue = new MemoryBoundLinkedBlockingQueue<>(queueMemoryBound); this.scheduler = Executors.newScheduledThreadPool(3); this.metricLost = new AtomicLong(0L); this.alertLost = new AtomicLong(0L); this.invalidLost = new AtomicLong(0L); }
Source:
<code><START> public TopologySummary getTopologySummaryByName(String name) throws AuthorizationException, TException { <END> return getNimbus().getTopologySummaryByName(name); }</code><technical_language>AuthorizationException removed</technical_language>

Target:
public TopologySummary getTopologySummaryByName(String name) throws TException { return getNimbus().getTopologySummaryByName(name); }