[Demonstration 1]

[Buggy Method]
public void filterDuplicates() {
    logger.debug("filtering duplicates - before size: " + routes.size());
    HashMap<String, RouteModel> uniquesHash = new HashMap<String, RouteModel>();
    try {
        for (RouteModel route : routes) {
            String key = String.valueOf(route.getRoute().getDistanceMeters()) + mapper.writeValueAsString(route.getRoute().getSegments());
            if (!uniquesHash.containsKey(key)) {
                uniquesHash.put(key, route);
                logger.debug("non duplicate route found");
            } else {
                logger.debug("DUPLICATE route found");
            }
        }
        routes.clear();
        for (Map.Entry<String, RouteModel> entry : uniquesHash.entrySet()) {
            routes.add(entry.getValue());
        }
        logger.debug("filtering duplicates - after size: " + routes.size());
    } catch (Exception e) {
        e.printStackTrace();
    }
}

[Buggy Hunk]
HashMap<String, RouteModel> uniquesHash = new HashMap<String, RouteModel>();

[Patch]
LinkedHashMap<String, RouteModel> uniquesHash = new LinkedHashMap<String, RouteModel>();

[Demonstration 2]

[Buggy Method]
public void setRight(E data, Node parent) {
    right = new Node(data, parent);
}

[Buggy Hunk]
public void setRight(E data, Node parent) {

[Patch]
public void setRight(@NotNull E data, @NotNull Node parent) {

[Demonstration 3]

[Buggy Method]
private void uploadSupport(JSONObject config, CallbackContext callbackContext) {
    try {
        String ticketDescription = config.getString("ticketDescription");
        String ticketNumber = config.getString("ticketNumber");
        String contactDetails = config.getString("contactDetails");
        JSONArray files = config.getJSONArray("files");
        String sessionToken = config.getString("sessionToken");
        String endpoint = config.getString("endpoint");
        HashMap<String, String> headers = new HashMap<>();
        headers.put("X-SessionID", sessionToken);
        MultipartUtility multipart = new MultipartUtility(endpoint, "UTF-8", headers);
        multipart.addFormField("TicketDescription", ticketDescription);
        multipart.addFormField("TicketNumber", ticketNumber);
        multipart.addFormField("ContactDetails", contactDetails);
        multipart.addFormField("TicketDescription", ticketDescription);
        multipart.addFilePart("File", this.cordova.getActivity().getDatabasePath(files.getString(0)));
        multipart.finish();
        callbackContext.success("success");
    } catch (JSONException e) {
        callbackContext.error(e.getMessage());
    } catch (IOException e) {
        callbackContext.error(e.getMessage());
    }
}

[Buggy Hunk]
HashMap<String, String> headers = new HashMap<>();

[Patch]
HashMap<String, String> headers = new HashMap<String, String>();