[Demonstration 1]

[Buggy Method]
private List<CtVariableReference<?>> getVarWidgetUsedInCmdConditions(@NotNull final Command cmd) {
    final TypeRefFilter filter = new TypeRefFilter(WidgetHelper.INSTANCE.getWidgetTypes(cmd.getExecutable().getFactory()));
    return cmd.getConditions().stream().map(cond -> cond.realStatmt.getElements(filter).stream().map(w -> w.getParent(CtVariableReference.class))).flatMap(s -> s).collect(Collectors.toList());
}

[Buggy Hunk]
map(w -> w.getParent(CtVariableReference.class))).

[Patch]
map(w -> (CtVariableReference<?>)w.getParent(CtVariableReference.class))).

[Demonstration 2]

[Buggy Method]
public org.eclipse.jdt.core.dom.ASTNode convert(org.eclipse.jdt.internal.compiler.ast.JsFunctionDeclaration declaration) {
    org.eclipse.jdt.core.dom.JsFunctionDeclaration jsFunctionDeclaration = new org.eclipse.jdt.core.dom.JsFunctionDeclaration(this.ast);
    jsFunctionDeclaration.setSourceRange(declaration.sourceStart, declaration.sourceEnd + 1 - declaration.sourceStart);
    jsFunctionDeclaration.setName(convert(declaration.getName()));
    jsFunctionDeclaration.setBody(declaration.getBody());
    this.setModifiers(jsFunctionDeclaration, declaration);
    for (SingleNameReference nameRef : declaration.getParameters()) {
        jsFunctionDeclaration.parameters().add(nameRef);
    }
    if (this.resolveBindings) {
        this.recordNodes(jsFunctionDeclaration, declaration);
        this.recordName(jsFunctionDeclaration.getName(), declaration);
        jsFunctionDeclaration.resolveBinding();
    }
    return jsFunctionDeclaration;
}

[Buggy Hunk]
jsFunctionDeclaration.parameters().add(nameRef);

[Patch]
jsFunctionDeclaration.parameters().add(convert(nameRef));

[Demonstration 3]

[Buggy Method]
@Test
public void testAddList() {
    assertFalse(object.hasLists());
    object.add("list", "1", "2");
    assertTrue(object.hasLists());
    object.clearLists();
    assertFalse(object.hasLists());
    ArrayList list2 = new ArrayList();
    list2.add("1");
    list2.add("2");
    object.add("list2", list2);
    assertTrue(object.hasLists());
    assertEquals(list2, object.get("list2"));
}

[Buggy Hunk]
assertEquals(list2, object.get("list2"));

[Patch]
assertEquals(list2, object.getList("list2").toList());