org.apache.bcel.generic.Instruction contains two strange methods: equals and setComparator. The equals and hashCode methods are by definition (see http://java.sun.com/javase/6/docs/api/java/lang/Object.html#hashCode%28%29 ) broken:
- If two Instruction objects have another InstructionComparator, they can be asymmetrically equal.
- If instructions aren't compared by identity (==), the inherited hashCode method is by definition broken.
I suggest: deprecate setComparator method.