private void process(Properties p, URL url) { for (Entry<Object, Object> entry : p.entrySet()) { String key = (String) entry.getKey(); String value = (String) entry.getValue(); if ("scan-package".equals(value)) { if (!scanPackageSet.add(key)) { throw new RuntimeException( "'scan-package' mechanism is used to scan the same package twice : '" + key + "'"); } } else if ("delegate".equals(value)) { delegateList.add(key); } else if ("remove-method".equals(value)) { processRemoveMethod(key, url); } else if ("substitute-class".equals(value)) { processSubstituteClass(key, url); } else if ("class-modifier".equals(value)) { processClassModifier(key, url); } else if ("module-file".equals(value)) { processModuleFile(key, url); } else { throw new RuntimeException( "Error in '" + url.getPath() + "' : unknown value '" + value + "'"); } } }