### Question:
Protocol extends JsonProperties { @Override public boolean equals(Object o) { if (o == this) return true; if (!(o instanceof Protocol)) return false; Protocol that = (Protocol) o; return this.name.equals(that.name) && this.namespace.equals(that.namespace) && this.types.equals(that.types) && this.messages.equals(that.messages) && this.propsEqual(that); } private  Protocol();  Protocol(Protocol p);  Protocol(String name, String doc, String namespace);  Protocol(String name, String namespace); String getName(); String getNamespace(); String getDoc(); Collection<Schema> getTypes(); Schema getType(String name); void setTypes(Collection<Schema> newTypes); Map<String, Message> getMessages(); @Deprecated Message createMessage(String name, String doc, Schema request); Message createMessage(Message m, Schema request); Message createMessage(String name, String doc, JsonProperties propMap, Schema request); Message createMessage(String name, String doc, Map<String, ?> propMap, Schema request); @Deprecated Message createMessage(String name, String doc, Schema request, Schema response, Schema errors); Message createMessage(Message m, Schema request, Schema response, Schema errors); Message createMessage(String name, String doc, JsonProperties propMap, Schema request, Schema response,
      Schema errors); Message createMessage(String name, String doc, Map<String, ?> propMap, Schema request, Schema response,
      Schema errors); @Override boolean equals(Object o); @Override int hashCode(); @Override String toString(); String toString(boolean pretty); byte[] getMD5(); static Protocol parse(File file); static Protocol parse(InputStream stream); static Protocol parse(String string, String... more); static Protocol parse(String string); static void main(String[] args); static final long VERSION; static final Schema SYSTEM_ERROR; static final Schema SYSTEM_ERRORS; }### Answer:
@Test public void testPropEquals() { Protocol p1 = new Protocol("P", null, "foo"); p1.addProp("a", "1"); Protocol p2 = new Protocol("P", null, "foo"); p2.addProp("a", "2"); assertFalse(p1.equals(p2)); }