public boolean equals(Object o){
  return (o != null) && (o.getClass() == Instruction.class) && equals((Instruction)o);
}

public boolean equals ( Object o ) { return ( o != null ) && ( o . getClass ( ) == Instruction . class ) && equals ( ( Instruction ) o ) ; }
two instructions are equal if they have the same bytes .
