code: 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);
          }
      }
docs: {@inheritDoc}