[Demonstration 1]

[Buggy Method]
public static Promise promiseApiCall(String method, String url, RequestBody body) {
    Request.Builder request = new Request.Builder();
    method = method.toUpperCase();
    switch(method) {
        case "POST":
            request.post(body);
            break;
        case "PUT":
            request.put(body);
            break;
        case "DELETE":
            request.delete(body);
            break;
    }
    return callByRequest(request.build());
}

[Buggy Hunk]
public static Promise promiseApiCall(String method, String url, RequestBody body) {

[Patch]
public static Promise<Response, Object, Void> promiseApiCall(String method, String url, RequestBody body) {

[Demonstration 2]

[Buggy Method]
@Override
public List<ImageDto> listImages(ImageMappingUsecase.Request request) {
    ImageMappingUsecase.Response response = new ImageMappingUsecase.Response();
    new ImageMappingUsecase().execute(request, response);
    return response.imageMapping().asList().stream().map(mapping -> {
        try {
            URI uri = mapping.uri();
            String name = mapping.name();
            return new ImageDto(name, uri);
        } catch (URISyntaxException e) {
            // todo:...
        }
        return null;
    }).collect(Collectors.toList());
}

[Buggy Hunk]
String name = mapping.name();

[Patch]
String name = mapping.id();

[Demonstration 3]

[Buggy Method]
public void collapseAll() {
    super.collapseAll();
    MutableTreeTableNode root = (MutableTreeTableNode) getTreeTableModel().getRoot();
    if (root == null)
        return;
    for (MutableTreeTableNode node : ((OMETreeNode) root).getChildList()) ((OMETreeNode) node).setExpanded(true);
}

[Buggy Hunk]
((OMETreeNode) node).setExpanded(true);

[Patch]
((OMETreeNode) node).setExpanded(false);