[Demonstration 1]

[Buggy Method]
private BufferedImage extractImage(BufferedImage page, Region region, File outputDirFile, int padding) {
    BufferedImage splitImage = null;
    // get the needed part of the page and rotate if needed
    if (region.rotate) {
        BufferedImage srcImage = page.getSubimage(region.left, region.top, region.height, region.width);
        splitImage = new BufferedImage(region.height, region.width, page.getType());
        AffineTransform transform = new AffineTransform();
        transform.rotate(Math.toRadians(90.0));
        transform.translate(0, -region.width);
        AffineTransformOp op = new AffineTransformOp(transform, AffineTransformOp.TYPE_BILINEAR);
        op.filter(srcImage, splitImage);
    } else {
        splitImage = page.getSubimage(region.left, region.top, region.width, region.height);
    }
    // draw the image to a bigger one if padding is needed
    if (padding > 0) {
        BufferedImage paddedImage = new BufferedImage(splitImage.getWidth() + padding * 2, splitImage.getHeight() + padding * 2, page.getType());
        Graphics2D g2 = paddedImage.createGraphics();
        g2.drawImage(splitImage, padding, padding, null);
        g2.dispose();
        return paddedImage;
    } else {
        return splitImage;
    }
}

[Buggy Hunk]
splitImage = new BufferedImage(region.height, region.width, page.getType());

[Patch]
splitImage = new BufferedImage(region.width, region.height, page.getType());

[Demonstration 2]

[Buggy Method]
@Override
public boolean areContentsTheSame(SyncedNotification oldItem, SyncedNotification newItem) {
    return oldItem.getMessage().equals(newItem.getMessage());
}

[Buggy Hunk]
return oldItem.getMessage().equals(newItem.getMessage());

[Patch]
return oldItem.getKey().equals(newItem.getKey());

[Demonstration 3]

[Buggy Method]
public static List<String> getSourceRootPathList(Project project, AnActionEvent event) {
    List<String> sourceRoots = Lists.newArrayList();
    String projectPath = StringUtils.normalizePath(project.getBasePath());
    for (VirtualFile virtualFile : getModuleRootManager(event).getSourceRoots(false)) {
        sourceRoots.add(StringUtils.normalizePath(virtualFile.getPath()).replace(projectPath, ""));
    }
    return sourceRoots;
}

[Buggy Hunk]
List<String> sourceRoots = Lists.newArrayList();

[Patch]
List<String> sourceRoots = new ArrayList<>();