[Demonstration 1]

[Buggy Method]
private void sendNoDoubleMessage(final JSONArray args, final CallbackContext callbackContext) {
    if (args.length() < 3) {
        callbackContext.error("Too little arguments");
        return;
    }
    cordova.getThreadPool().execute(new Runnable() {

        public void run() {
            try {
                String host = args.getString(0);
                int port = args.getInt(1);
                String address = args.getString(2);
                OSCPortOut oscport = getPortOut(host, port);
                OSCMessage packet = new OSCMessage(address);
                for (int i = 3; i < args.length(); i++) {
                    if (args.get(i) instanceof Double)
                        packet.addArgument((float) args.get(i));
                    else
                        packet.addArgument(args.get(i));
                }
                oscport.send(packet);
                callbackContext.sendPluginResult(new PluginResult(PluginResult.Status.OK));
            } catch (Exception e) {
                callbackContext.error(e.getMessage());
            }
        }
    });
}

[Buggy Hunk]
packet.addArgument((float) args.get(i));

[Patch]
packet.addArgument(((Double) args.get(i)).floatValue());

[Demonstration 2]

[Buggy Method]
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    String username = request.getParameter("username");
    String password = request.getParameter("password");
    UserManager userManager = (UserManager) getServletContext().getAttribute("userManager");
    User matchingUser = userManager.getUser(username);
    String hashedPassword = userManager.generateHashedPassword(password);
    if (matchingUser == null && !matchingUser.getPassword().equals(hashedPassword)) {
        request.setAttribute("attempt", "invalid");
        RequestDispatcher dispatch = request.getRequestDispatcher("login-page.jsp");
        dispatch.forward(request, response);
    } else {
        request.setAttribute("currentUser", matchingUser);
        // TODO: go to user homepage
    }
}

[Buggy Hunk]
if (matchingUser == null && !matchingUser.getPassword().equals(hashedPassword)) {

[Patch]
if (matchingUser == null || !matchingUser.getPassword().equals(hashedPassword)) {

[Demonstration 3]

[Buggy Method]
public String toString(String... replacements) {
    if (getType() == MessageType.NULL || getContent() == null || getContent().equals("null"))
        return "null";
    String message = getContent();
    if (replacements != null)
        for (int i = 0; i + 1 < replacements.length; i += 2) message = message.replace(replacements[i], replacements[i + 1]);
    if (this.hasPrefix())
        message = getPrefix() + "§r" + message;
    return message;
}

[Buggy Hunk]
message = getPrefix() + "§r" + message;

[Patch]
message = getPrefix() + ChatColor.RESET + message;