[Demonstration 1]

[Buggy Method]
public boolean transfer(JenaWrapper outputStore, File transferredRdf, File translatedRdf) throws Exception {
    Model transferredModel = null;
    try {
        if (transferredRdf != null && transferredRdf.exists() && transferredRdf.length() > 3) {
            transferredModel = JenaHelper.loadRdfXml(transferredRdf);
        }
        if (transferredModel != null) {
            outputStore.remove(transferredModel);
        }
        if (transferredRdf.exists()) {
            boolean deleted = false;
            try {
                deleted = transferredRdf.delete();
            } catch (Exception e) {
                log.error("Unable to delete unloaded RDF: " + transferredRdf.getAbsolutePath(), e);
            }
            if (!deleted && transferredModel != null) {
                outputStore.add(transferredModel);
                return false;
            }
        }
    } finally {
        if (transferredModel != null) {
            transferredModel.close();
        }
    }
    Model translatedModel = null;
    try {
        if (translatedRdf != null && translatedRdf.exists() && translatedRdf.length() > 3) {
            translatedModel = JenaHelper.loadRdfXml(translatedRdf);
        }
        if (translatedModel != null) {
            outputStore.add(translatedModel);
            try {
                Files.move(translatedRdf.toPath(), transferredRdf.toPath());
            } catch (Exception e) {
                log.error("Unable to move file " + transferredRdf.toPath() + " to " + translatedRdf.toPath(), e);
                outputStore.remove(translatedModel);
            }
        } else if (translatedRdf.exists()) {
            translatedRdf.delete();
        }
    } finally {
        if (translatedModel != null) {
            translatedModel.close();
        }
        cachingService.remove(translatedRdf);
    }
    return true;
}

[Buggy Hunk]
log.error("Unable to move file " + transferredRdf.toPath() + " to " + translatedRdf.toPath(), e);

[Patch]
log.error("Unable to move file " + translatedRdf.toPath() + " to " + transferredRdf.toPath(), e);

[Demonstration 2]

[Buggy Method]
static void remove(Path path) {
    SimpleFileVisitor<Path> simpleFileVisitor = new SimpleFileVisitor<Path>() {

        @Override
        public FileVisitResult visitFile(Path file, BasicFileAttributes attrs) {
            try {
                Files.delete(file);
            } catch (IOException e) {
                new RuntimeException(e);
            }
            return FileVisitResult.CONTINUE;
        }

        @Override
        public FileVisitResult visitFileFailed(Path file, IOException exc) {
            try {
                Files.delete(file);
            } catch (IOException e) {
                new RuntimeException(e);
            }
            return FileVisitResult.CONTINUE;
        }

        @Override
        public FileVisitResult postVisitDirectory(Path dir, IOException exc) {
            if (exc == null) {
                try {
                    Files.delete(dir);
                } catch (IOException e) {
                    new RuntimeException(e);
                }
                return FileVisitResult.CONTINUE;
            } else {
                throw new RuntimeException(exc);
            }
        }
    };
    try {
        Files.walkFileTree(path, simpleFileVisitor);
    } catch (IOException e) {
        throw new RuntimeException(e);
    }
}

[Buggy Hunk]
static void remove( Path path ) {

[Patch]
private void remove( Path path ) {

[Demonstration 3]

[Buggy Method]
private void calculateTime() {
    try {
        this.time = sdf.parse(this.dateAsString + " " + this.timeAsString).getTime();
    } catch (ParseException e) {
        this.time = 0;
    }
}

[Buggy Hunk]
this.time = sdf.parse(this.dateAsString + " " + this.timeAsString).getTime();

[Patch]
this.time = this.sdf.parse(this.dateAsString + " " + this.timeAsString).getTime();