[Demonstration 1]

[Buggy Method]
@Override
public String getFileName() throws Exception {
    try {
        if (config != null) {
            return new String(EPICS_CONTROLLER.cagetByteArray(createChannel(config.getFileName().getPv()))).trim();
        }
        return new String(EPICS_CONTROLLER.cagetByteArray(getChannel(FileName))).trim();
    } catch (Exception ex) {
        logger.warn("g.d.d.a.v.i.NDFileImpl-> Cannot getFileName", ex);
        throw ex;
    }
}

[Buggy Hunk]
logger.warn("g.d.d.a.v.i.NDFileImpl-> Cannot getFileName", ex);

[Patch]
logger.error("Cannot getFileName", ex);

[Demonstration 2]

[Buggy Method]
@Override
public String getName() {
    return path.getFileName().toString();
}

[Buggy Hunk]
return path.getFileName().toString();

[Patch]
return FilenameUtils.removeExtension(path.getFileName().toString());

[Demonstration 3]

[Buggy Method]
protected void proxy() throws IOException {
    proxies.add(new ServerProxy(server, this));
}

[Buggy Hunk]
protected void proxy() throws IOException{

[Patch]
private void proxy() throws IOException{