[Demonstration 1]

[Buggy Method]
@Override
public void onBindViewHolder(ViewHolder holder, final int position) {
    holder.itemView.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View view) {
            Intent intent = new Intent(context, ItemActivity.class);
            intent.putExtra("item", itemList.get(position));
            startActivity(context, intent, null);
        }
    });
    holder.itemName.setText(itemList.get(position).getName());
    holder.itemPrice.setText("$" + String.valueOf(itemList.get(position).getSalePrice()));
    if (itemList.get(position).getAvailableOnline() == true) {
        holder.itemAvailableOnline.setTextColor(context.getResources().getColor(R.color.green));
        holder.itemAvailableOnline.setText("Available for Online Purchase");
    } else {
        holder.itemAvailableOnline.setTextColor(context.getResources().getColor(R.color.red));
        holder.itemAvailableOnline.setText("Not Available for Online Purchase");
    }
    Glide.with(context).load(itemList.get(position).getThumbnailImage()).into(holder.image);
}

[Buggy Hunk]
holder.itemPrice.setText("$" + String.valueOf(itemList.get(position).getSalePrice()));

[Patch]
holder.itemPrice.setText("$" + String.format("%.2f", itemList.get(position).getSalePrice()));

[Demonstration 2]

[Buggy Method]
public void deployPackage(final PartnerConnection partnerConnection, final String key) throws IOException, ConnectionException, InterruptedException {
    MetadataConnection metadataConnection = createMetadataConnection(partnerConnection);
    System.out.println(metadataConnection.getSessionHeader().getSessionId());
    GetObjectRequest getObjectRequest = new GetObjectRequest("aws-microservices", key);
    AmazonS3 s3Client = new AmazonS3Client();
    S3Object zipFile = s3Client.getObject(getObjectRequest);
    ByteArrayOutputStream baos = new ByteArrayOutputStream();
    IOUtils.copy(zipFile.getObjectContent(), baos);
    baos.close();
    DeployOptions deployOptions = new DeployOptions();
    deployOptions.setSinglePackage(true);
    deployOptions.setPerformRetrieve(false);
    deployOptions.setRollbackOnError(true);
    AsyncResult asyncResult = metadataConnection.deploy(baos.toByteArray(), deployOptions);
    String asyncResultId = asyncResult.getId();
    System.out.println(asyncResultId);
    DeployResult deployResult = null;
    do {
        Thread.sleep(3000);
        deployResult = metadataConnection.checkDeployStatus(asyncResultId, true);
        System.out.println("Status is: " + deployResult.getStatus());
        System.out.println(deployResult.getNumberComponentErrors());
        System.out.println(deployResult.getNumberComponentsDeployed());
        System.out.println(deployResult.getNumberComponentsTotal());
        DeployDetails deployDetails = deployResult.getDetails();
        for (DeployMessage message : deployDetails.getComponentFailures()) {
            System.out.println(message.getProblemType() + ": " + message.getProblem() + " " + message.getLineNumber());
        }
    } while (!deployResult.isDone());
    if (!deployResult.isSuccess() && deployResult.getErrorStatusCode() != null) {
        System.out.println(deployResult.getErrorStatusCode() + " msg: " + deployResult.getErrorMessage());
    }
}

[Buggy Hunk]
System.out.println(message.getProblemType() + ": " + message.getProblem() + " " + message.getLineNumber());

[Patch]
System.out.println(message.getProblemType() + ": " + message.getProblem() + " " + message.getLineNumber() + " " + message.getFileName());

[Demonstration 3]

[Buggy Method]
public static void error(String message, Throwable t) {
    if (logFlag) {
        Reporter.log(message + " \n" + (t != null ? stringifyStackTrace(t) : ""), true);
    } else {
        System.out.println(message);
    }
}

[Buggy Hunk]
System.out.println(message);

[Patch]
logger.error(message, t);