[Demonstration 1]

[Buggy Method]
@Override
public void execute(String id) {
    AutomaticPackageReplicatorJob job = (AutomaticPackageReplicatorJob) bctx.getService(automaticPackageReplicatorJobs.get(id));
    job.run();
}

[Buggy Hunk]
.getService(automaticPackageReplicatorJobs.get(id));

[Patch]
.getService(automaticPackageReplicatorJobs.get(id).getReference());

[Demonstration 2]

[Buggy Method]
private void elementToJson(Element element, JsonGenerator jsonGenerator) throws IOException {
    boolean objectStarted = false;
    if (element.attributeCount() > 0) {
        List<Attribute> attributes = element.attributes();
        jsonGenerator.writeStartObject();
        objectStarted = true;
        for (Attribute attribute : attributes) {
            jsonGenerator.writeStringField(attribute.getName(), attribute.getValue());
        }
    }
    if (!element.hasContent()) {
        if (!objectStarted) {
            jsonGenerator.writeNull();
        }
    } else if (element.isTextOnly()) {
        if (!objectStarted) {
            jsonGenerator.writeString(element.getText());
        } else {
            jsonGenerator.writeStringField(TEXT_JSON_KEY, element.getText());
        }
    } else {
        if (!objectStarted) {
            jsonGenerator.writeStartObject();
            objectStarted = true;
        }
        if (element.hasMixedContent()) {
            List<String> textContent = getTextContentFromMixedContent(element);
            if (textContent.size() > 1) {
                jsonGenerator.writeArrayFieldStart(TEXT_JSON_KEY);
                for (String text : textContent) {
                    jsonGenerator.writeString(text);
                }
                jsonGenerator.writeEndArray();
            } else {
                jsonGenerator.writeStringField(TEXT_JSON_KEY, textContent.get(0));
            }
        }
        Map<String, List<Element>> children = getChildren(element);
        for (Map.Entry<String, List<Element>> entry : children.entrySet()) {
            if (entry.getValue().size() > 1) {
                jsonGenerator.writeArrayFieldStart(entry.getKey());
                for (Element child : entry.getValue()) {
                    elementToJson(child, jsonGenerator);
                }
                jsonGenerator.writeEndArray();
            } else {
                jsonGenerator.writeFieldName(entry.getKey());
                elementToJson(entry.getValue().get(0), jsonGenerator);
            }
        }
    }
    if (objectStarted) {
        jsonGenerator.writeEndObject();
    }
}

[Buggy Hunk]
} else {

[Patch]
} else if (textContent.size() == 1) {

[Demonstration 3]

[Buggy Method]
private static boolean isAnnotatedElement(PsiElement element, String annotatedElementType) {
    return element.getText().startsWith(annotatedElementType) && element.getClass().getName().equals("com.intellij.lang.typescript.psi.impl.ES6DecoratorImpl");
}

[Buggy Hunk]
return element.getText().startsWith(annotatedElementType) && element.getClass().getName().equals("com.intellij.lang.typescript.psi.impl.ES6DecoratorImpl");

[Patch]
return element != null && !Strings.isNullOrEmpty(element.getText()) && element.getText().startsWith(annotatedElementType) && element.getClass().getName().equals("com.intellij.lang.typescript.psi.impl.ES6DecoratorImpl");