private void checkDependantClasses() throws IOException {
        try {
            for (String dependantClass : dependantClasses) {
                Class.forName(dependantClass);
            }
        } catch (ClassNotFoundException e) {
            Manifest mf = new Manifest(getClass().getResourceAsStream("/META-INF/" + manifestName));
            Attributes mainAttributes = mf.getMainAttributes();
            String name = mainAttributes.get(Attributes.Name.IMPLEMENTATION_TITLE).toString();
            String classPathJARs = mainAttributes.get(Attributes.Name.CLASS_PATH).toString();
            String message = "%nEnsure these JARs are in the same directory as %s.jar:%n%s";
            throw new IllegalStateException(format(message, name , classPathJARs), e);
        }
    }