[Demonstration 1]

[Buggy Method]
@Override
public boolean equals(Object o) {
    if (this == o)
        return true;
    if (o == null || (this.getClass() != o.getClass())) {
        return false;
    }
    ClientInfo guest = (ClientInfo) o;
    //&&
    return (this.getId() == guest.getId());
}

[Buggy Hunk]
ClientInfo guest = (ClientInfo) o;

[Patch]
ConnectionToClient guest = (ConnectionToClient) o;

[Demonstration 2]

[Buggy Method]
@Override
public void handleMessage(Map<Object, Object> message, String sessionID) throws IOException {
    List<String> clients = clientsController.getAllClientExcept(sessionID);
    HashMap<Object, Object> toSend = new HashMap<Object, Object>();
    toSend.put(Constants.REQUEST_TYPE.toString(), MessageTypes.CLIENTS_LIST.toString());
    toSend.put(MessageTypes.CLIENTS_LIST.toString(), clients);
    JSONMessage.toJson(toSend);
    TextMessage returnMessage = new TextMessage(JSONMessage.toJson(toSend));
    clientsController.getEndPointFor(sessionID).getSession().sendMessage(returnMessage);
}

[Buggy Hunk]
clientsController.getEndPointFor(sessionID).getSession().sendMessage(returnMessage);

[Patch]
clientsController.getSessionFor(sessionID).sendMessage(returnMessage);

[Demonstration 3]

[Buggy Method]
private boolean isAnyResponse() {
    return request == null && mount == null && proxy == null && redirectTo == null;
}

[Buggy Hunk]
return request == null && mount == null && proxy == null && redirectTo == null;

[Patch]
return request == null && mount == null && proxy == null && redirectTo == null && resource == null;