code: @Override
      public SQLPPMapping parse(File file) throws InvalidMappingException, DuplicateMappingException, MappingIOException {
          checkFile(file);
          try (Reader reader = new FileReader(file)) {
              return load(reader, specificationFactory, ppMappingFactory, file.getName());
          } catch (IOException e) {
              throw new MappingIOException(e);
          }
      }
docs: Parsing is not done at construction time because our dependency
  injection framework (Guice) does not manage exceptions nicely.