src/main/java/hudson/plugins/dry/parser/AbstractDryParser.java
public Collection<FileAnnotation> parse(final File file, final String moduleName) throws InvocationTargetException {
        FileInputStream inputStream = null;
        try {
            inputStream = new FileInputStream(file);
            if (accepts(inputStream)) {
                IOUtils.closeQuietly(inputStream);
                inputStream = new FileInputStream(file);

                Set<FileAnnotation> warnings = Sets.newHashSet();
                warnings.addAll(parse(inputStream, moduleName));
                return warnings;
            }
            else {
                throw new IOException("Can't parse CPD file " + file.getAbsolutePath());
            }
        }
        catch (IOException exception) {
            throw new InvocationTargetException(exception);
        }
        finally {
            IOUtils.closeQuietly(inputStream);
        }
    }
public Collection<FileAnnotation> parse(final File file, final String moduleName) throws InvocationTargetException {
        FileInputStream inputStream = null;
        try {
            inputStream = new FileInputStream(file);
            if (accepts(inputStream)) {
                IOUtils.closeQuietly(inputStream);
                inputStream = new FileInputStream(file);

                Set<FileAnnotation> warnings = Sets.newHashSet();
                warnings.addAll(parse(inputStream, moduleName));
                return warnings;
            }
            else {
                throw new IOException("Can't parse CPD file " + file.getAbsolutePath());
            }
        }
        catch (IOException exception) {
            throw new InvocationTargetException(exception);
        }
        finally {
            IOUtils.closeQuietly(inputStream);
        }
    }
{@inheritDoc}