auphong2707/dl4se-code-review-dataset huggingface dataset:
Source:
<code>public void request(@NonNull Context context, @NonNull WikiSite wiki, int age, @NonNull Callback cb) { cancel(); disposables.add(ServiceFactory.getRest(wiki).getAnnouncements() .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .subscribe(list -> { List<Card> cards = new ArrayList<>(); <START> if (list != null) { <END> cards.addAll(buildCards(list.items())); } FeedCoordinator.postCardsToCallback(cb, cards); }, throwable -> { L.v(throwable); cb.error(throwable); })); }</code><technical_language>null check is necessary. If observable is successful, result is guaranteed nonnull. fall error block. lines replaced a single expression-lambda</technical_language>

Target:
public void request(@NonNull Context context, @NonNull WikiSite wiki, int age, @NonNull Callback cb) { cancel(); disposables.add(ServiceFactory.getRest(wiki).getAnnouncements() .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .subscribe(list -> FeedCoordinator.postCardsToCallback(cb, new ArrayList<>(buildCards(list.items()))), throwable -> { L.v(throwable); cb.error(throwable); })); }
Source:
<code>public long getCountQueryTimeout() { <START> return (getConnection().getConfig().getCountQueryTimeout()==0)?DEFAULT_TIMEOUT:getConnection().getConfig().getCountQueryTimeout(); <END> }</code><technical_language>If move getCountQueryTimeout getter function</technical_language>

Target:
public long getCountQueryTimeout() { return (getConnection().getConfig().getCountQueryTimeout()); }
Source:
<code>public Double getPrediction(DiseaseOccurrence occurrence) throws JsonProcessingException, WebServiceClientException, NumberFormatException { Integer diseaseGroupId = getDiseaseGroupId(occurrence); if (diseaseGroupId != null) { <START> String url = rootUrl + diseaseGroupId + "/predict"; <END> JsonDiseaseOccurrenceDataPoint data = new JsonDiseaseOccurrenceDataPoint(occurrence); String bodyAsJson = writeRequestBodyAsJson(data); String response = webServiceClient.makePostRequestWithJSON(url, bodyAsJson); if (response.equals(EXPECTED_PREDICTION_FAILURE_RESPONSE)) { return null; } else { return parseDouble(response); } } else { throw new MachineWeightingPredictorException("No disease group"); } }</code><technical_language>Constant</technical_language>

Target:
public Double getPrediction(DiseaseOccurrence occurrence) throws JsonProcessingException, WebServiceClientException, NumberFormatException { Integer diseaseGroupId = getDiseaseGroupId(occurrence); if (diseaseGroupId != null) { String url = buildUrl(diseaseGroupId, PREDICT_METHOD); JsonDiseaseOccurrenceDataPoint data = new JsonDiseaseOccurrenceDataPoint(occurrence); String bodyAsJson = writeRequestBodyAsJson(data); String response = webServiceClient.makePostRequestWithJSON(url, bodyAsJson); if (response.equals(EXPECTED_PREDICTION_FAILURE_RESPONSE)) { return null; } else { return parseDouble(response); } } else { throw new MachineWeightingPredictorException("No disease group"); } }
Source:
<code>public static String encodeString(String strToEncode) throws APIException { String algorithm = "SHA-512"; MessageDigest md; <START> byte[] input; <END> try { md = MessageDigest.getInstance(algorithm); input = strToEncode.getBytes(encoding); } catch (NoSuchAlgorithmException e) { log.error(getPasswordEncodeFailMessage(algorithm), e); throw new APIException("system.cannot.find.password.encryption.algorithm", null, e); } catch (UnsupportedEncodingException e) { throw new APIException("system.cannot.find.encoding", new Object[] { encoding }, e); } return hexString(md.digest(input)); }</code><technical_language>change? way, changing this file part of ticket</technical_language>

Target:
public static String encodeString(String strToEncode) throws APIException { String algorithm = "SHA-512"; MessageDigest md; byte[] input; try { md = MessageDigest.getInstance(algorithm); input = strToEncode.getBytes(StandardCharsets.UTF_8); } catch (NoSuchAlgorithmException e) { log.error(getPasswordEncodeFailMessage(algorithm), e); throw new APIException("system.cannot.find.password.encryption.algorithm", null, e); } return hexString(md.digest(input)); }
Source:
<code><START> public void updateColumn( final AttributeCol52 originalColumn, <END> final AttributeCol52 editedColumn ) { assertNotReadOnly(); try { final List<BaseColumnFieldDiff> diffs = synchronizer.updateColumn( originalColumn, editedColumn ); if ( !( diffs == null || diffs.isEmpty() ) ) { view.getLayer().draw(); model.getAuditLog().add( new UpdateColumnAuditLogEntry( identity.getIdentifier(), originalColumn, editedColumn, diffs ) ); refreshAttributesPanelEvent.fire( new RefreshAttributesPanelEvent( this, model.getAttributeCols() ) ); } } catch ( ModelSynchronizer.MoveColumnVetoException e ) { } }</code><technical_language>Code for (updateColumn(..)) shared</technical_language>

Target:
public void updateColumn( final AttributeCol52 originalColumn, final AttributeCol52 editedColumn ) { doUpdateColumn( originalColumn, editedColumn, () -> synchronizer.updateColumn( originalColumn, editedColumn ), () -> refreshAttributesPanelEvent.fire( new RefreshAttributesPanelEvent( this, model.getAttributeCols() ) ) ); }
Source:
<code>private A loadAndDispatch(I aggregateId, CommandId commandId, Message command, CommandContext context) { final AggregateStorage<I> aggregateStorage = aggregateStorage(); A aggregate; Integer eventCountBeforeSave = null; int eventCountBeforeDispatch; do { if (eventCountBeforeSave != null) { log().warn("New events detected during the dispatch of the command " + "Possible concurrent modification of {}" + "Repeating the command dispatching.", command, getAggregateClass(), aggregateId); } eventCountBeforeDispatch = aggregateStorage.readEventCountAfterLastSnapshot(aggregateId); aggregate = load(aggregateId); try { aggregate.dispatch(command, context); } catch (RuntimeException e) { final Throwable cause = e.getCause(); if (cause instanceof Exception) { final Exception exception = (Exception) cause; commandStatusService.setToError(commandId, exception); } else if (cause instanceof FailureThrowable) { final FailureThrowable failure = (FailureThrowable) cause; commandStatusService.setToFailure(commandId, failure); } else { commandStatusService.setToError(commandId, Errors.fromThrowable(cause)); } } eventCountBeforeSave = aggregateStorage.readEventCountAfterLastSnapshot(aggregateId); } while (eventCountBeforeDispatch != eventCountBeforeSave); <START> checkNotNull(aggregate); <END> return aggregate; }</code><technical_language>need a message explaining happen</technical_language>

Target:
private A loadAndDispatch(I aggregateId, CommandId commandId, Message command, CommandContext context) { final AggregateStorage<I> aggregateStorage = aggregateStorage(); A aggregate; Integer eventCountBeforeSave = null; int eventCountBeforeDispatch = 0; do { if (eventCountBeforeSave != null) { final int newEventCount = eventCountBeforeSave - eventCountBeforeDispatch; log().warn("Detected the concurrent modification of {}" + "New events detected while dispatching the command " + "The number of new events is {}. " + "Restarting the command dispatching.", getAggregateClass(), aggregateId, command, newEventCount); } eventCountBeforeDispatch = aggregateStorage.readEventCountAfterLastSnapshot(aggregateId); aggregate = load(aggregateId); try { aggregate.dispatch(command, context); } catch (RuntimeException e) { final Throwable cause = e.getCause(); if (cause instanceof Exception) { final Exception exception = (Exception) cause; commandStatusService.setToError(commandId, exception); } else if (cause instanceof FailureThrowable) { final FailureThrowable failure = (FailureThrowable) cause; commandStatusService.setToFailure(commandId, failure); } else { commandStatusService.setToError(commandId, Errors.fromThrowable(cause)); } } eventCountBeforeSave = aggregateStorage.readEventCountAfterLastSnapshot(aggregateId); } while (eventCountBeforeDispatch != eventCountBeforeSave); return aggregate; }
Source:
<code>private String attachFooterToHTML(String content) throws MessagingException, IOException { Matcher matcher = BODY_CLOSING_TAG.matcher(content); if (!matcher.find()) { return content + getFooterHTML(); } int insertionIndex = matcher.start(matcher.groupCount() - 1); return new StringBuilder() <START> .append(content, 0, insertionIndex) <END> .append(getFooterHTML()) .append(content.substring(insertionIndex)) .toString(); }</code><technical_language>append(content.substring(0, insertionIndex)) IMO more explicit</technical_language>

Target:
private String attachFooterToHTML(String content) throws MessagingException, IOException { Matcher matcher = BODY_CLOSING_TAG.matcher(content); if (!matcher.find()) { return content + getFooterHTML(); } int insertionIndex = matcher.start(matcher.groupCount() - 1); return new StringBuilder() .append(content.substring(0, insertionIndex)) .append(getFooterHTML()) .append(content.substring(insertionIndex)) .toString(); }
Source:
<code>public static byte[] encode(Chain chain) { ByteBuffer msg = null; boolean firstIteration = true ; for (Element element : chain) { <START> if (firstIteration) { <END> firstIteration = false; ByteBuffer buffer = ByteBuffer.allocate(1); if (element instanceof SequencedElement) { buffer.put(SEQUENCED_CHAIN); } else { buffer.put(NON_SEQUNCED_CHAIN); } buffer.flip(); msg = combine(buffer, encodeElement(element)); continue; } if (msg == null) { throw new IllegalArgumentException("Message cannot be null"); } msg = combine(msg, encodeElement(element)); } return msg != null ? msg.array() : new byte[0]; }</code><technical_language>a classic for (int i = 0; ...) test for if (i == 0) a boolean firstIteration</technical_language>

Target:
public static byte[] encode(Chain chain) { ByteBuffer msg = null; boolean firstIteration = true ; for (Element element : chain) { if (firstIteration) { firstIteration = false; ByteBuffer buffer = ByteBuffer.allocate(1); if (element instanceof SequencedElement) { buffer.put(SEQUENCED_CHAIN); } else { buffer.put(NON_SEQUENCED_CHAIN); } buffer.flip(); msg = combine(buffer, encodeElement(element)); continue; } if (msg == null) { throw new IllegalArgumentException("Message cannot be null"); } msg = combine(msg, encodeElement(element)); } return msg != null ? msg.array() : new byte[0]; }
Source:
<code>private void sendMetrics() { try { Thread.sleep(METRIC_INIT_DELAY_MS); while (true) { Thread.sleep(metricsWindowMs); final double processingUnit = getProcessingUnit(); if (processingUnit != Double.POSITIVE_INFINITY) { final int numPartitionBlocks = memoryStore.getNumBlocks(); final ServerMetrics metricsMessage = ServerMetrics.newBuilder() .setWindowIndex(windowIndex) .setNumPartitionBlocks(numPartitionBlocks) .setMetricWindowMs(metricsWindowMs) .setAvgProcessingTime(processingUnit) .build(); <START> LOG.log(Level.INFO, "ServerMetrics {0}", metricsMessage); <END> metricsMsgSender.send(metricsMessage); } windowIndex++; } } catch (final InterruptedException e) { LOG.log(Level.SEVERE, "Exception Occurred", e); throw new RuntimeException(e); } }</code><technical_language>consistent message in workers, is LOG.log(Level.FINE, "Sending metricsMessage {0}", workerMetrics);</technical_language>

Target:
private void sendMetrics() { try { Thread.sleep(METRIC_INIT_DELAY_MS); while (true) { Thread.sleep(metricsWindowMs); final double avgPullTime = getAvgProcTimePerReq(pullStats); final double avgPushTime = getAvgProcTimePerReq(pushStats); final double avgReqProcTime = getAvgProcTimePerReq(requestStats); resetStats(); if (avgPullTime != Double.POSITIVE_INFINITY && avgPushTime != Double.POSITIVE_INFINITY) { final int numPartitionBlocks = memoryStore.getNumBlocks(); final ServerMetrics metricsMessage = ServerMetrics.newBuilder() .setWindowIndex(windowIndex) .setNumPartitionBlocks(numPartitionBlocks) .setMetricWindowMs(metricsWindowMs) .setAvgPullProcessingTime(avgPullTime) .setAvgPushProcessingTime(avgPushTime) .setAvgReqProcessingTime(avgReqProcTime) .build(); LOG.log(Level.FINE, "Sending ServerMetrics {0}", metricsMessage); metricsMsgSender.send(metricsMessage); } windowIndex++; } } catch (final InterruptedException e) { LOG.log(Level.SEVERE, "Exception Occurred", e); throw new RuntimeException(e); } }
Source:
<code>private void validateQualityGate(DbSession dbSession, OrganizationDto organizationDto, String name) { List<String> errors = new ArrayList<>(); checkQualityGateDoesNotAlreadyExist(dbSession, organizationDto, name, errors); <START> checkRequest(errors.isEmpty(), errors); <END> }</code><technical_language>Please remove checkRequest => more needed error generated in checkQualityGateDoesNotAlreadyExist. Moreoever, checkQualityGateDoesNotAlreadyExist throw IllegalArgumentException instead of adding error list of error</technical_language>

Target:
private void validateQualityGate(DbSession dbSession, OrganizationDto organizationDto, String name) { checkQualityGateDoesNotAlreadyExist(dbSession, organizationDto, name); }
Source:
<code>public void snapshotNotExistsWhenSnapshotsNotAllowed() throws Exception { final String fname = "/commons-codec/commons-codec/11-SNAPSHOT/maven-metadata.xml.md5"; final String content = "kljsjdlfkjsdlkj123j13=20=s0dfjklxjkj"; <START> fixture.getServer().expect( "GET", fixture.formatUrl( fname ), new ExpectationHandler() <END> { @Override public void handle( final HttpServletRequest httpServletRequest, final HttpServletResponse httpServletResponse ) throws ServletException, IOException { httpServletResponse.setStatus( 200 ); httpServletResponse.setHeader( "Content-Length", Integer.toString( content.length() ) ); PrintWriter writer = httpServletResponse.getWriter(); writer.write( content ); } } ); final String baseUri = fixture.getBaseUri(); final SimpleHttpLocation location = new SimpleHttpLocation( "test", baseUri, false, true, true, true, null ); final Transfer transfer = fixture.getTransfer( new ConcreteResource( location, fname ) ); final String url = fixture.formatUrl( fname ); assertThat( transfer.exists(), equalTo( false ) ); HttpDownload dl = new HttpDownload( url, location, transfer, new HashMap<Transfer, Long>(), new EventMetadata(), fixture.getHttp(), new ObjectMapper(), metricRegistry, metricConfig ); DownloadJob resultJob = dl.call(); assertThat( resultJob, notNullValue() ); Transfer result = resultJob.getTransfer(); ContentsFilteringTransferDecorator decorator = new ContentsFilteringTransferDecorator(); OverriddenBooleanValue value = decorator.decorateExists( result, new EventMetadata() ); assertThat( value.overrides(), equalTo( true ) ); assertThat( value.getResult(), equalTo( false ) ); }</code><technical_language>a variant of this method accepts a string body response status code, implement a handler. FYI</technical_language>

Target:
public void snapshotNotExistsWhenSnapshotsNotAllowed() throws Exception { final String fname = "/commons-codec/commons-codec/11-SNAPSHOT/maven-metadata.xml.md5"; final String content = "kljsjdlfkjsdlkj123j13=20=s0dfjklxjkj"; fixture.getServer().expect( "GET", fixture.formatUrl( fname ), 200, content ); final String baseUri = fixture.getBaseUri(); final SimpleHttpLocation location = new SimpleHttpLocation( "test", baseUri, false, true, true, true, null ); final Transfer transfer = fixture.getTransfer( new ConcreteResource( location, fname ) ); final String url = fixture.formatUrl( fname ); assertThat( transfer.exists(), equalTo( false ) ); HttpDownload dl = new HttpDownload( url, location, transfer, new HashMap<Transfer, Long>(), new EventMetadata(), fixture.getHttp(), new ObjectMapper(), metricRegistry, metricConfig ); DownloadJob resultJob = dl.call(); assertThat( resultJob, notNullValue() ); Transfer result = resultJob.getTransfer(); ContentsFilteringTransferDecorator decorator = new ContentsFilteringTransferDecorator(); OverriddenBooleanValue value = decorator.decorateExists( result, new EventMetadata() ); assertThat( value.overrides(), equalTo( true ) ); assertThat( value.getResult(), equalTo( false ) ); }
Source:
<code>public static <T> Collection<EnhancedAnnotatedMethod<?, ? super T>> filterMethods(final Collection<EnhancedAnnotatedMethod<?, ? super T>> methods) { List<EnhancedAnnotatedMethod<?, ? super T>> filteredMethods = new ArrayList<>(); <START> for (EnhancedAnnotatedMethod<?, ? super T> method : methods) { <END> if (!method.getJavaMember().isBridge() && !method.getJavaMember().isSynthetic()) { filteredMethods.add(method); } } return ImmutableList.copyOf(filteredMethods); }</code><technical_language>METHOD_FILTER_PREDICATE is useless, or</technical_language>

Target:
public static <T> Collection<EnhancedAnnotatedMethod<?, ? super T>> filterMethods(final Collection<EnhancedAnnotatedMethod<?, ? super T>> methods) { List<EnhancedAnnotatedMethod<?, ? super T>> filteredMethods = new ArrayList<>(); for (EnhancedAnnotatedMethod<?, ? super T> method : methods) { if (!method.getJavaMember().isBridge() && !method.getJavaMember().isSynthetic()) { filteredMethods.add(method); } } return Collections.unmodifiableList(filteredMethods); }
Source:
<code>public ImmutableList<DeviceData> getBetweenHourDateByTS(final Long accountId, final String externalDeviceId, final DateTime startUTCTime, final DateTime endUTCTime, final DateTime startLocalTime, final DateTime endLocalTime, final int startHour, final int endHour) { final List<DeviceData> results = getBetweenLocalTime(accountId, externalDeviceId, startUTCTime, endUTCTime, startLocalTime, endLocalTime, ALL_ATTRIBUTES); final List<DeviceData> filteredResults = Lists.newArrayList(); <START> for (final DeviceData data: results) { <END> final int hourOfDay = data.localTime().getHourOfDay(); if (hourOfDay >= startHour || hourOfDay < endHour) { filteredResults.add(data); } } return ImmutableList.copyOf(filteredResults); }</code><technical_language>filtering methods abstracted I believe. edit: I this above. difference && ||</technical_language>

Target:
public ImmutableList<DeviceData> getBetweenHourDateByTS(final Long accountId, final String externalDeviceId, final DateTime startUTCTime, final DateTime endUTCTime, final DateTime startLocalTime, final DateTime endLocalTime, final int startHour, final int endHour) { return getBetweenHourDateByTS(accountId, externalDeviceId, startUTCTime, endUTCTime, startLocalTime, endLocalTime, startHour, endHour, false); }
Source:
<code>private String getThemePrefixedPath(String path) { String prefix = themeProperties != null ? themeProperties.get(IntroTheme.ATT_ID) : null; prefix = prefix == null ? "" : prefix.trim(); if (prefix.length() == 0) { return null; } <START> return prefix.charAt(prefix.length() - 1) == Path.SEPARATOR ? prefix + path : prefix + Path.SEPARATOR + path; <END> }</code><technical_language>Is check for trailing Path.SEPARATOR necessary ? IntroTheme.ATT_ID property is supposed a trailing Path.SEPARATOR,</technical_language>

Target:
private String getThemePrefixedPath(String path) { String prefix = themeProperties != null ? themeProperties.get(IntroTheme.ATT_ID) : null; prefix = prefix == null ? "" : prefix.trim(); if (prefix.length() == 0) { return null; } return prefix + Path.SEPARATOR + path; }
Source:
<code>public static void main(String[] args) { final Display display = new Display(); Realm.runWithDefault(SWTObservables.getRealm(display), new Runnable() { @Override public void run() { Shell shell = new Shell(display); shell.setText("Data Binding Snippet 004"); shell.setLayout(new GridLayout(2, false)); new Label(shell, SWT.NONE).setText("Enter '5' to be valid:"); Text text = new Text(shell, SWT.BORDER); WritableValue value = WritableValue.withValueType(String.class); new Label(shell, SWT.NONE).setText("Error:"); Label errorLabel = new Label(shell, SWT.BORDER); errorLabel.setForeground(display.getSystemColor(SWT.COLOR_RED)); GridDataFactory.swtDefaults().hint(200, SWT.DEFAULT) .applyTo(errorLabel); DataBindingContext dbc = new DataBindingContext(); dbc.bindValue(WidgetProperties.text(SWT.Modify).observe(text), value, new UpdateValueStrategy() .setAfterConvertValidator(new FiveValidator()), null); <START> dbc.bindValue(SWTObservables.observeText(errorLabel), <END> new AggregateValidationStatus(dbc.getBindings(), AggregateValidationStatus.MAX_SEVERITY)); shell.pack(); shell.open(); while (!shell.isDisposed()) { if (!display.readAndDispatch()) display.sleep(); } } }); display.dispose(); }</code><technical_language>Please fix that</technical_language>

Target:
public static void main(String[] args) { final Display display = new Display(); Realm.runWithDefault(SWTObservables.getRealm(display), new Runnable() { @Override public void run() { Shell shell = new Shell(display); shell.setText("Data Binding Snippet 004"); shell.setLayout(new GridLayout(2, false)); new Label(shell, SWT.NONE).setText("Enter '5' to be valid:"); Text text = new Text(shell, SWT.BORDER); WritableValue value = WritableValue.withValueType(String.class); new Label(shell, SWT.NONE).setText("Error:"); Label errorLabel = new Label(shell, SWT.BORDER); errorLabel.setForeground(display.getSystemColor(SWT.COLOR_RED)); GridDataFactory.swtDefaults().hint(200, SWT.DEFAULT) .applyTo(errorLabel); DataBindingContext dbc = new DataBindingContext(); dbc.bindValue(WidgetProperties.text(SWT.Modify).observe(text), value, new UpdateValueStrategy() .setAfterConvertValidator(new FiveValidator()), null); dbc.bindValue( WidgetProperties.text(SWT.Modify).observe(errorLabel), new AggregateValidationStatus(dbc.getBindings(), AggregateValidationStatus.MAX_SEVERITY)); shell.pack(); shell.open(); while (!shell.isDisposed()) { if (!display.readAndDispatch()) display.sleep(); } } }); display.dispose(); }
Source:
<code>public String toString() { return String.format( "DlmsDevice[deviceId=%s, hls3=%b, hls4=%b, hls5=%b, ipAddress=%s, port=%s, logicalId=%s, clientId=%s]", <START> this.deviceIdentification, this.hls3Active, this.hls4Active, this.hls5Active, this.ipAddress, this.port, <END> this.logicalId, this.clientId); }</code><technical_language>missing new field in toString method</technical_language>

Target:
public String toString() { return String.format( "DlmsDevice[deviceId=%s, lls1=%b, hls3=%b, hls4=%b, hls5=%b, ipAddress=%s, port=%s, logicalId=%s, clientId=%s]", this.deviceIdentification, this.lls1Active, this.hls3Active, this.hls4Active, this.hls5Active, this.ipAddress, this.port, this.logicalId, this.clientId); }
Source:
<code>public static DataCenter create(String id, String name, int version, ProvisioningState state, Location location, List<Server> servers, List<Storage> storages) { <START> return new AutoValue_DataCenter(id, name, version, state, location, servers, storages); <END> }</code><technical_language>enforce immutability set servers storages ImmutableList.copyOf(servers)</technical_language>

Target:
public static DataCenter create(String id, String name, int version, ProvisioningState state, Location location, List<Server> servers, List<Storage> storages) { return new AutoValue_DataCenter(id, name, version, state, location, servers != null ? ImmutableList.copyOf(servers) : Lists.<Server>newArrayList(), storages != null ? ImmutableList.copyOf(storages) : Lists.<Storage>newArrayList()); }
Source:
<code>public FormValidation doCheckIsRunUnmetered(@QueryParameter Boolean isRunUnmetered, @QueryParameter String appArtifact) { if (isRunUnmetered) { AWSDeviceFarm adf = getAWSDeviceFarm(); String os = adf.getOs(appArtifact); if (adf.getUnmeteredDevices(os) <= 0) { <START> return FormValidation.error(String.format("Your Account does not have unmetered %s devices.", os)); <END> } } return FormValidation.ok(); }</code><technical_language>s/Account/account</technical_language>

Target:
public FormValidation doCheckIsRunUnmetered(@QueryParameter Boolean isRunUnmetered, @QueryParameter String appArtifact) { if (isRunUnmetered) { AWSDeviceFarm adf = getAWSDeviceFarm(); String os = adf.getOs(appArtifact); if (adf.getUnmeteredDevices(os) <= 0) { return FormValidation.error(String.format("Your account does not have unmetered %s devices.", os)); } } return FormValidation.ok(); }
Source:
<code>public Response<?> apply(ChangeResource rsrc, Publish.Input in) throws AuthException, ResourceConflictException, NoSuchChangeException, IOException, InvalidChangeOperationException, OrmException { Optional<ChangeEdit> edit = editUtil.byChange(rsrc.getChange()); if (!edit.isPresent()) { throw new ResourceConflictException(String.format( "no edit exists for change %s", rsrc.getChange().getChangeId())); } PatchSet current = db.get().patchSets().get( rsrc.getChange().currentPatchSetId()); if (current.getId().equals(edit.get().getBasePatchSet().getId())) { throw new ResourceConflictException(String.format( "edit for change %s is already on latest <START> ps: <END> %s", rsrc.getChange().getChangeId(), current.getId())); } editModifier.rebaseEdit(edit.get(), current); return Response.none(); }</code><technical_language>Optional: "patch set"</technical_language>

Target:
public Response<?> apply(ChangeResource rsrc, Publish.Input in) throws AuthException, ResourceConflictException, NoSuchChangeException, IOException, InvalidChangeOperationException, OrmException { Optional<ChangeEdit> edit = editUtil.byChange(rsrc.getChange()); if (!edit.isPresent()) { throw new ResourceConflictException(String.format( "no edit exists for change %s", rsrc.getChange().getChangeId())); } PatchSet current = db.get().patchSets().get( rsrc.getChange().currentPatchSetId()); if (current.getId().equals(edit.get().getBasePatchSet().getId())) { throw new ResourceConflictException(String.format( "edit for change %s is already on latest patch set: %s", rsrc.getChange().getChangeId(), current.getId())); } editModifier.rebaseEdit(edit.get(), current); return Response.none(); }
Source:
<code>boolean awaitBlobCreations() throws InterruptedException { <START> return creationHelper.await(11, TimeUnit.SECONDS); <END> }</code><technical_language>I curious difference this minor change</technical_language>

Target:
boolean awaitBlobCreations() throws InterruptedException { return creationHelper.await(10, TimeUnit.SECONDS); }
Source:
<code>private EnumSet<XMPPContact.Feature> runDiscovery(String fullJid) { EnumSet<XMPPContact.Feature> features = EnumSet.noneOf(XMPPContact.Feature.class); if (discoveryManager == null) return features; try { DiscoverInfo discoverInfo = discoveryManager.discoverInfo(fullJid); for (Iterator<DiscoverInfo.Feature> it = discoverInfo.getFeatures(); it.hasNext(); ) { String feature = it.next().getVar(); <START> if (SarosConstants.XMPP_FEATURE_NAMESPACE.equals(feature)) { <END> features.add(XMPPContact.Feature.SAROS); } else if (SarosConstants.NAMESPACE_SERVER.equals(feature)) { features.add(XMPPContact.Feature.SAROS_SERVER); } } } catch (XMPPException e) { log.debug("Feature discovery for " + fullJid + " failed", e); } return features; }</code><technical_language>logic match description of this class. hardwired features queried. option query else moving business logic more network layer</technical_language>

Target:
private EnumSet<ResourceFeature> runDiscovery(String fullJid) { EnumSet<ResourceFeature> features = EnumSet.noneOf(ResourceFeature.class); if (discoveryManager == null) return features; try { DiscoverInfo discoverInfo = discoveryManager.discoverInfo(fullJid); for (Iterator<DiscoverInfo.Feature> it = discoverInfo.getFeatures(); it.hasNext(); ) { ResourceFeature.getFeature(it.next().getVar()).ifPresent(features::add); } } catch (XMPPException e) { log.debug("Feature discovery for " + fullJid + " failed", e); } return features; }
Source:
<code>private void finish() { int bufferLen = (int) (length & 63); if (bufferLen > 55) { buffer[bufferLen++] = (byte) 0x80; Arrays.fill(buffer, bufferLen, 64, (byte) 0); compress(buffer, 0); Arrays.fill(buffer, 0, 56, (byte) 0); } else { buffer[bufferLen++] = (byte) 0x80; Arrays.fill(buffer, bufferLen, 56, (byte) 0); } NB.encodeInt32(buffer, 56, (int) (length >>> (32 - 3))); NB.encodeInt32(buffer, 60, (int) (length << 3)); compress(buffer, 0); if (foundCollision) { if (!safeHash) { throw new Sha1CollisionException(); } LOG.warn("possible SHA-1 collision; safeHash" <START> + (safeHash ? "" : " disabled,") END> + ' ' + h.toObjectId().name()); } }</code><technical_language>This line is dead code now</technical_language>

Target:
private void finish() { int bufferLen = (int) (length & 63); if (bufferLen > 55) { buffer[bufferLen++] = (byte) 0x80; Arrays.fill(buffer, bufferLen, 64, (byte) 0); compress(buffer, 0); Arrays.fill(buffer, 0, 56, (byte) 0); } else { buffer[bufferLen++] = (byte) 0x80; Arrays.fill(buffer, bufferLen, 56, (byte) 0); } NB.encodeInt32(buffer, 56, (int) (length >>> (32 - 3))); NB.encodeInt32(buffer, 60, (int) (length << 3)); compress(buffer, 0); if (foundCollision) { ObjectId id = h.toObjectId(); LOG.warn("possible SHA-1 collision; safeHash " + (safeHash ? "is" : "disabled,") + ' ' + id.name()); if (!safeHash) { throw new Sha1CollisionException(id); } } }
Source:
<code>public void is_false_value() throws Exception { List<Boolean> falseValues = createLiterals(Tree.Kind.BOOLEAN_LITERAL, "false", "False", "FALSE") .map(CheckUtils::isFalseValue).collect(Collectors.toList()); <START> assertThat(falseValues).containsOnly(true); <END> falseValues = createLiterals(Tree.Kind.NUMERIC_LITERAL, "0", "0.0") .map(CheckUtils::isFalseValue).collect(Collectors.toList()); assertThat(falseValues).containsOnly(true); falseValues = createLiterals(Tree.Kind.REGULAR_STRING_LITERAL, "\"0\"", "'0'", "''") .map(CheckUtils::isFalseValue).collect(Collectors.toList()); assertThat(falseValues).containsOnly(true); }</code><technical_language>This is a bit confusing. following? assertThat(createLiterals(Tree.Kind.BOOLEAN_LITERAL, "false", "False", "FALSE").allMatch(CheckUtils::isFalseValue)); (I check it...)</technical_language>

Target:
public void is_false_value() throws Exception { assertThat(createLiterals(Tree.Kind.BOOLEAN_LITERAL, "false", "False", "FALSE") .allMatch(CheckUtils::isFalseValue)).isTrue(); assertThat(createLiterals(Tree.Kind.NUMERIC_LITERAL, "0", "0.0") .allMatch(CheckUtils::isFalseValue)).isTrue(); assertThat(createLiterals(Tree.Kind.REGULAR_STRING_LITERAL, "\"0\"", "'0'", "''") .allMatch(CheckUtils::isFalseValue)).isTrue(); }
Source:
<code>protected boolean evaluateFilter(JsonBuilderContext context) { if (filter == null) return true; <START> int i = 0; <END> JsonBuilderContext evaluationContenxt = context; while (i < filterContextPos) { evaluationContenxt = evaluationContenxt.getParent(); i++; } return filter.evaluate(evaluationContenxt.getCurrentObj()); }</code><technical_language>this written a simple for loop? I odd exit conditions</technical_language>

Target:
protected boolean evaluateFilter(JsonBuilderContext context) { if (filter == null) return true; JsonBuilderContext evaluationContenxt = context; for (int i = 0; i < filterContextPos; i++) { evaluationContenxt = evaluationContenxt.getParent(); } return filter.evaluate(evaluationContenxt.getCurrentObj()); }
Source:
<code>public static MultifactorAuthenticationProviderBypass newMultifactorAuthenticationProviderBypass( final MultifactorAuthenticationProviderBypassProperties props) { val bypass = new ChainingMultifactorAuthenticationBypassProvider(); <START> bypass.addBypass(new DefaultMultifactorAuthenticationProviderBypass(props)); <END> if (props.getGroovy().getLocation() != null) { bypass.addBypass(new GroovyMultifactorAuthenticationProviderBypass(props)); } if (StringUtils.isNotBlank(props.getRest().getUrl())) { bypass.addBypass(new RestMultifactorAuthenticationProviderBypass(props)); } return bypass; }</code><technical_language>this change in a patch release</technical_language>

Target:
public static MultifactorAuthenticationProviderBypass newMultifactorAuthenticationProviderBypass( final MultifactorAuthenticationProviderBypassProperties props) { val bypass = new ChainingMultifactorAuthenticationBypassProvider(); bypass.addBypass(new DefaultMultifactorAuthenticationProviderBypass(props)); if (props.getType() == MultifactorAuthenticationProviderBypassProperties.MultifactorProviderBypassTypes.GROOVY) { bypass.addBypass(new GroovyMultifactorAuthenticationProviderBypass(props)); } if (props.getType() == MultifactorAuthenticationProviderBypassProperties.MultifactorProviderBypassTypes.REST) { bypass.addBypass(new RestMultifactorAuthenticationProviderBypass(props)); } return bypass; }
Source:
<code>protected void onShowPage(boolean firstShow) { try { loadConfiguration(); if (!isEnable) { disposeControl(); Label label = new Label(page, SWT.WRAP); label.setText( "Restricting the tables to load from specific database schemas, is not " + "supported for this database driver. All database tables will be loaded."); label.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false, 2, 1)); page.layout(true, true); setMessage(""); setPageComplete(true); return; } Connection conn = getConnection(); if (conn == null) { disposeControl(); Label label = new Label(page, SWT.WRAP); label.setText( <START> "Could not established connection with database. Please check the settings."); <END> label.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false, 2, 1)); page.layout(true, true); setErrorMessage("Connection error!"); setPageComplete(false); return; } else { setErrorMessage(null); } if (firstShow) { createComponent(); } else { disposeControl(); schemas.clear(); createComponent(); } getSchemas(conn); schemaTable.setInput(schemas); if (multipleSelection) { schemaTable.setAllChecked(true); setPageComplete(true); setMessage("Please select one or multiple schemas."); } else { setMessage("Please select one schema."); } } catch (SQLException e) { log.error(e.getMessage(), e); } }</code><technical_language>more helpful user wrong, including message in thrown SQLException (line 195), this: "Could establish connection database: [Error Message]"</technical_language>

Target:
protected void onShowPage(boolean firstShow) { loadConfiguration(); if (!isEnable) { disposeControl(); Label label = new Label(page, SWT.WRAP); label.setText("Restricting the tables to load from specific database schemas, is not " + "supported for this database driver. All database tables will be loaded."); label.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false, 2, 1)); page.layout(true, true); setMessage(""); setPageComplete(true); return; } Connection conn = null; try { conn = getConnection(); } catch (SQLException e) { log.error(e.getMessage(), e); disposeControl(); Label label = new Label(page, SWT.WRAP); label.setText("Could not establish connection with database: " + e.getMessage()); label.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false, 2, 1)); page.layout(true, true); setErrorMessage("Connection error!"); setPageComplete(false); return; } setErrorMessage(null); if (firstShow) { createComponent(); } else { disposeControl(); schemas.clear(); createComponent(); } try { getSchemas(conn); schemaTable.setInput(schemas); if (multipleSelection) { schemaTable.setAllChecked(true); setPageComplete(true); setMessage("Please select one or multiple schemas."); } else { setMessage("Please select one schema."); } } catch (SQLException e) { log.error(e.getMessage(), e); } }
Source:
<code>public JSONObject toJson() { JSONObject json = super.toJson(); <START> json.put("format", MainJsonObjectFactory.get().createJsonObject(((INumberColumn) getColumn()).getFormat()).toJson()); <END> json.put("aggregationFunction", ((INumberColumn) getColumn()).getAggregationFunction()); json.put("backgroundEffect", ((INumberColumn) getColumn()).getBackgroundEffect()); return json; }</code><technical_language>cast (INumberColumn)? getColumn() returns correct type</technical_language>

Target:
public JSONObject toJson() { JSONObject json = super.toJson(); json.put("format", MainJsonObjectFactory.get().createJsonObject(getColumn().getFormat()).toJson()); json.put("aggregationFunction", getColumn().getAggregationFunction()); json.put("backgroundEffect", getColumn().getBackgroundEffect()); return json; }
Source:
<code>private void executeFailoverTest(Runnable failureInjector) throws Exception { EurekaRegistrationClient registrationClient = eurekaDeploymentResource.getEurekaDeployment().registrationClientToWriteCluster(); EurekaInterestClient interestClient = eurekaDeploymentResource.getEurekaDeployment().cannonicalInterestClient(); try { ExtTestSubscriber<ChangeNotification<InstanceInfo>> interestSubscriber = subscribeTo(interestClient, INSTANCE_UP); PublishSubject<InstanceInfo> registrationSubject = PublishSubject.create(); Subscription registrationSubscription = registrationClient.register(registrationSubject).subscribe(); registrationSubject.onNext(INSTANCE_UP); assertThat(interestSubscriber.takeNext(60, TimeUnit.SECONDS), is(addChangeNotificationOf(INSTANCE_UP))); failureInjector.run(); registrationSubject.onNext(INSTANCE_DOWN); assertThat(registrationSubscription.isUnsubscribed(), is(false)); assertThat(interestSubscriber.takeNext(60, TimeUnit.SECONDS), is(modifyChangeNotificationOf(INSTANCE_DOWN))); } finally { <START> registrationClient.shutdown(); <END> interestClient.shutdown(); } }</code><technical_language>is need cleanup resources explicitly. EurekaDeployment tracks registering/interest clients disconnects shutdown. If happen in some cases, a bug</technical_language>

Target:
private void executeFailoverTest(Runnable failureInjector) throws Exception { EurekaRegistrationClient registrationClient = eurekaDeploymentResource.getEurekaDeployment().registrationClientToWriteCluster(); EurekaInterestClient interestClient = eurekaDeploymentResource.getEurekaDeployment().cannonicalInterestClient(); ExtTestSubscriber<ChangeNotification<InstanceInfo>> interestSubscriber = subscribeTo(interestClient, INSTANCE_UP); PublishSubject<InstanceInfo> registrationSubject = PublishSubject.create(); Subscription registrationSubscription = registrationClient.register(registrationSubject).subscribe(); registrationSubject.onNext(INSTANCE_UP); assertThat(interestSubscriber.takeNext(60, TimeUnit.SECONDS), is(addChangeNotificationOf(INSTANCE_UP))); failureInjector.run(); registrationSubject.onNext(INSTANCE_DOWN); assertThat(registrationSubscription.isUnsubscribed(), is(false)); assertThat(interestSubscriber.takeNext(60, TimeUnit.SECONDS), is(modifyChangeNotificationOf(INSTANCE_DOWN))); }
Source:
<code>private void testDurability(boolean disableWAL) throws Exception { Connection conn = DriverManager.getConnection(getUrl()); try { Durability expectedDurability = disableWAL ? Durability.SKIP_WAL : Durability.USE_DEFAULT; conn.setAutoCommit(false); conn.createStatement().execute("CREATE TABLE t1 (k integer not null primary key, a.k varchar, b.k varchar) " + (disableWAL ? "DISABLE_WAL=true" : "")); conn.createStatement().execute("UPSERT INTO t1 VALUES(1,'a','b')"); conn.createStatement().execute("DELETE FROM t1 WHERE k=2"); assertDurability(conn,expectedDurability); conn.createStatement().execute("DELETE FROM t1 WHERE k=1"); assertDurability(conn,expectedDurability); } finally { try { <START> conn.rollback(); <END> conn.createStatement().execute("DROP TABLE t1"); } finally { conn.close(); } } }</code><technical_language>want try-with-resource instead</technical_language>

Target:
private void testDurability(boolean disableWAL) throws Exception { try(Connection conn = DriverManager.getConnection(getUrl())) { Durability expectedDurability = disableWAL ? Durability.SKIP_WAL : Durability.USE_DEFAULT; conn.setAutoCommit(false); conn.createStatement().execute("CREATE TABLE t1 (k integer not null primary key, a.k varchar, b.k varchar) " + (disableWAL ? "DISABLE_WAL=true" : "")); conn.createStatement().execute("UPSERT INTO t1 VALUES(1,'a','b')"); conn.createStatement().execute("DELETE FROM t1 WHERE k=2"); assertDurability(conn,expectedDurability); conn.createStatement().execute("DELETE FROM t1 WHERE k=1"); assertDurability(conn,expectedDurability); conn.rollback(); conn.createStatement().execute("DROP TABLE t1"); } }
Source:
<code>static boolean isVcardFile(Content content) { try { <START> byte[] t = new byte[VCARD_HEADER.length()]; <END> if (content.getSize() > MIN_FILE_SIZE) { int byteRead = content.read(t, 0, VCARD_HEADER.length()); if (byteRead > 0) { String header = new String(t); return header.equalsIgnoreCase(VCARD_HEADER); } } } catch (TskException ex) { logger.log(Level.WARNING, String.format("Exception while detecting if the file '%s' (id=%d) is a vCard file.", content.getName(), content.getId())); return false; } return false; }</code><technical_language>This moved if block</technical_language>

Target:
static boolean isVcardFile(Content content) { try { if (content.getSize() > MIN_FILE_SIZE) { byte[] buffer = new byte[VCARD_HEADER.length()]; int byteRead = content.read(buffer, 0, VCARD_HEADER.length()); if (byteRead > 0) { String header = new String(buffer); return header.equalsIgnoreCase(VCARD_HEADER); } } } catch (TskException ex) { logger.log(Level.WARNING, String.format("Exception while detecting if the file '%s' (id=%d) is a vCard file.", content.getName(), content.getId())); return false; } return false; }
Source:
<code>public void testFlowSetupMetrics() throws InterruptedException { assertEquals(0, this.testUtil.getTimerCount(ExecMetrics.FLOW_SETUP_TIMER_NAME)); Timer.Context context = this.metrics.getFlowSetupTimerContext(); try { <START> Thread.sleep(100); <END> } finally { context.stop(); } assertEquals(1, this.testUtil.getTimerCount(ExecMetrics.FLOW_SETUP_TIMER_NAME)); Snapshot snapshot = this.testUtil.getTimerSnapshot(ExecMetrics.FLOW_SETUP_TIMER_NAME); double val = snapshot.getMax(); assertTrue(snapshot.getMax() > 100); }</code><technical_language>avoid sleep here</technical_language>

Target:
public void testFlowSetupMetrics() throws InterruptedException { assertThat(this.testUtil.getTimerCount(ExecMetrics.FLOW_SETUP_TIMER_NAME)).isEqualTo(0); Timer.Context context = this.metrics.getFlowSetupTimerContext(); try { Thread.sleep(10); } finally { context.stop(); } assertThat(this.testUtil.getTimerCount(ExecMetrics.FLOW_SETUP_TIMER_NAME)).isEqualTo(1); Snapshot snapshot = this.testUtil.getTimerSnapshot(ExecMetrics.FLOW_SETUP_TIMER_NAME); double val = snapshot.getMax(); assertThat(snapshot.getMax()).isGreaterThanOrEqualTo(10); }
Source:
<code>public void testPrepareThirdPartyOverrideUrlNull() { <START> LicenseMojoUtils.prepareThirdPartyOverrideUrl( resolvedUrl, deprecatedFile, url, basedir, log ); <END> }</code><technical_language>assertion returned prepareThirdPartyOverrideUrl()</technical_language>

Target:
public void testPrepareThirdPartyOverrideUrlNull() { String actual = LicenseMojoUtils.prepareThirdPartyOverrideUrl( resolvedUrl, deprecatedFile, url, basedir, log ); assertEquals( LicenseMojoUtils.NO_URL, actual ); }
Source:
<code>private List<StoreKey> getConvertedStoreKeys(List<? extends StoreKey> storeKeys) throws Exception { <START> Map<StoreKey, StoreKey> convertionMap = storeKeyConverterFactory.getStoreKeyConverter().convert(storeKeys); <END> List<StoreKey> convertedStoreKeys = new ArrayList<>(); storeKeys.stream().forEach(storeKey -> convertedStoreKeys.add(convertionMap.get(storeKey))); return convertedStoreKeys; }</code><technical_language>typo: conversion</technical_language>

Target:
private List<StoreKey> getConvertedStoreKeys(List<? extends StoreKey> storeKeys) throws Exception { Map<StoreKey, StoreKey> conversionMap = storeKeyConverterFactory.getStoreKeyConverter().convert(storeKeys); List<StoreKey> convertedStoreKeys = new ArrayList<>(); for (StoreKey key : storeKeys) { StoreKey convertedKey = conversionMap.get(key); convertedStoreKeys.add(convertedKey == null ? key : convertedKey); } return convertedStoreKeys; }
Source:
<code>boolean isAssignmentValid(AssignableNode node, AssignableReplica replica, ClusterContext clusterContext) { <START> return node.getFaultZone() == null || !clusterContext <END> .getPartitionsForResourceAndFaultZone(node.getFaultZone(), replica.getResourceName()) .contains(replica.getPartitionName()); }</code><technical_language>Question: do do a case AssignableNode's fault zone is set? in distinguish fault zone field empty (there fault zones defined) null (not set due some logical/user error)? I feel need extra careful here</technical_language>

Target:
boolean isAssignmentValid(AssignableNode node, AssignableReplica replica, ClusterContext clusterContext) { if (!node.hasFaultZone()) { return true; } return !clusterContext .getPartitionsForResourceAndFaultZone(replica.getResourceName(), node.getFaultZone()) .contains(replica.getPartitionName()); }
Source:
<code>public String getQuickNavigateInfo(PsiElement element, PsiElement originalElement) { if (element instanceof GoNamedElement) { String result = getSignature(element); <START> if (result != "") { <END> return result; } } return super.getQuickNavigateInfo(element, originalElement); }</code><technical_language>1. do != for comparing 2. StringUtil#nullize</technical_language>

Target:
public String getQuickNavigateInfo(PsiElement element, PsiElement originalElement) { if (element instanceof GoNamedElement) { String result = getSignature(element); if (!result.isEmpty()) { return result; } } return super.getQuickNavigateInfo(element, originalElement); }
Source:
<code>public Codec getCodec() { <START> return new MLRCodec(); <END> }</code><technical_language>Do new instance of MLRCodec time</technical_language>

Target:
public Codec getCodec() { return mlrDataCodec; }
Source:
<code>public void update(Observable arg0, Object arg1) { if (arg0 != player) { return; } if (arg1 == OoyalaPlayer.TIME_CHANGED_NOTIFICATION) { return; } if (arg1 == OoyalaPlayer.ERROR_NOTIFICATION) { final String msg = "Error Event Received"; if (player != null && player.getError() != null) { Log.e(TAG, msg, player.getError()); } else { Log.e(TAG, msg); } return; } <START> count++ ; <END> String text="Notification Received: " + arg1 + " - state: " + player.getState() + "count: " +count; if(count==1) { try { Process process = new ProcessBuilder().command("logcat", "-c").redirectErrorStream(true).start(); } catch (IOException e) { } } File logFile = new File("sdcard/log.file"); if (!logFile.exists()) { try { logFile.createNewFile(); } catch (IOException e) { e.printStackTrace(); } } try { BufferedWriter buf = new BufferedWriter(new FileWriter(logFile, true)); buf.append(text); buf.newLine(); buf.close(); } catch (IOException e) { e.printStackTrace(); } Log.d(TAG, "Notification Received: " + arg1 + " - state: " + player.getState()); }</code><technical_language>chance abstract this a separate Utils/ file</technical_language>

Target:
public void update(Observable arg0, Object arg1) { if (arg0 != player) { return; } if (arg1 == OoyalaPlayer.TIME_CHANGED_NOTIFICATION) { return; } if (arg1 == OoyalaPlayer.ERROR_NOTIFICATION) { final String msg = "Error Event Received"; if (player != null && player.getError() != null) { Log.e(TAG, msg, player.getError()); } else { Log.e(TAG, msg); } return; } count++ ; String text="Notification Received: " + arg1 + " - state: " + player.getState() + "count: " +count; BasicPlaybackSampleAppLog BasicPlaybacklog= new BasicPlaybackSampleAppLog(); BasicPlaybacklog.writeToSdcardLog(count,text); Log.d(TAG, "Notification Received: " + arg1 + " - state: " + player.getState()); }
Source:
<code>protected String getResource() { <START> return "manualtaskmodel.bpmn"; <END> }</code><technical_language>Please, camel case in file names</technical_language>

Target:
protected String getResource() { return "manualTaskModel.bpmn"; }