if (ignoreDirs.contains(list[i].getShortName())) {  if (app.debug) { app.logEvent("Repository " + list[i].getName() + " ignored"); } continue; }
    private void checkRepository(Repository repository) throws IOException {        Repository[] list = repository.getRepositories();        for (int i = 0; i < list.length; i++) {            if (list[i].isScriptRoot()) {                // this is an embedded top-level script repository                 if (app.addRepository(list[i])) {                    // repository is new, check it                    checkRepository(list[i]);                }            } else {                // it's an prototype                String name = null;                name = list[i].getShortName();                Prototype proto = getPrototype(name);                // if prototype doesn't exist, create it                if (proto == null) {                    // create new prototype if type name is valid                    if (isValidTypeName(name))                         createPrototype(name, list[i]);                } else {                    proto.addRepository(list[i]);                }            }        }        Iterator resources = repository.getResources();        while (resources.hasNext()) {            // check for jar files to add to class loader            Resource resource = (Resource) resources.next();            String name = resource.getName();            if (name.endsWith(".jar")) {                if (!jarfiles.contains(name)) {                    jarfiles.add(name);                    try {                        loader.addURL(resource.getUrl());                    } catch (UnsupportedOperationException x) {                        // not implemented by all kinds of resources                    }                }            }        }    }