code: @Override
      public TestSet parseFile(File tapFile) {
          if (null == decoder) {
              throw new ParserException(
                  "Must have encoding specified if using parseFile");
          }
          try (
                  FileInputStream fis = new FileInputStream(tapFile);
                  InputStreamReader isr = new InputStreamReader(fis, decoder);
                  ) {
              return parseTapStream(isr);
          } catch (FileNotFoundException e) {
              throw new ParserException("TAP file not found: " + tapFile, e);
          } catch (IOException e) {
              LOGGER.log(Level.SEVERE, String.format("Failed to close file stream: %s", e.getMessage()), e);
              throw new ParserException(String.format("Failed to close file stream for file %s: %s: ",
                      tapFile, e.getMessage()), e);
          }
      }
docs: {@inheritDoc}