private void doExpand(Jar jar, String name, Map<Instruction, Map<String, String>> instructions,
boolean mandatory) {
Set<Instruction> superfluous = removeMarkedDuplicates(instructions.keySet());
for (Iterator<Jar> c = getClasspath().iterator(); c.hasNext();) {
Jar now = c.next();
doExpand(jar, instructions, now, superfluous);
}
if (mandatory && superfluous.size() > 0) {
StringBuilder sb = new StringBuilder();
String del = "Instructions in " + name + " that are never used: ";
for (Iterator<Instruction> i = superfluous.iterator(); i.hasNext();) {
Instruction p = i.next();
sb.append(del);
sb.append(p.toString());
del = "\n ";
}
sb.append("\nClasspath: ");
sb.append(Processor.join(getClasspath()));
sb.append("\n");
warning("%s",sb.toString());
if (isPedantic())
diagnostics = true;
}
}