[Demonstration 1]

[Buggy Method]
private void methodReadMarshall(StringBuilder readMarshal, Method getter, Method setter, Class type, FieldModel model) {
    if (model.type() == Date.class) {
        if (getter != null && setter != null)
            readMarshal.append("        ").append(setter.getName()).append("((Date)in.read").append(bytesType(type)).append("());\n");
    } else if (Enum.class.isAssignableFrom(model.type())) {
        if (getter != null && setter != null)
            readMarshal.append("        ").append(setter.getName()).append("(in.readEnum(" + model.type() + "));\n");
    } else if (!model.isArray()) {
        if (getter != null && setter != null)
            readMarshal.append("        ").append(setter.getName()).append("(in.read").append(bytesType(type)).append("());\n");
    } else {
        readMarshal.append("        for (int i = 0; i < ").append(model.indexSize().value()).append("; i++){\n");
        readMarshal.append("            ").append(setter.getName()).append("(i, in.read").append(bytesType(type)).append("());\n");
        readMarshal.append("        }\n");
    }
}

[Buggy Hunk]
readMarshal.append("        ").append(setter.getName()).append("(in.readEnum(" + model.type() + "));\n");

[Patch]
readMarshal.append("        ").append(setter.getName()).append("(in.readEnum(" + model.type().getName() + ".class));\n");

[Demonstration 2]

[Buggy Method]
@Override
public void actionPerformed(AnActionEvent anActionEvent) {
    final DataContext context = anActionEvent.getDataContext();
    final VirtualFile target = (VirtualFile) context.getData(DataConstants.VIRTUAL_FILE);
    final JCRConfiguration jcrConfiguration = getConfiguration(anActionEvent);
    final Application application = ApplicationManager.getApplication();
    final Project project = anActionEvent.getData(PlatformDataKeys.PROJECT);
    Task task = new Task.Backgroundable(project, "JCR Import", true, BackgroundFromStartOption.getInstance()) {

        public void run(@NotNull ProgressIndicator progressIndicator) {
            progressIndicator.setIndeterminate(true);
            progressIndicator.setText("Importing to JCR...");
            application.runReadAction(new JCRPushProcess(target, jcrConfiguration));
        }
    };
    ProgressManager.getInstance().run(task);
}

[Buggy Hunk]
application.runReadAction(new JCRPushProcess(target, jcrConfiguration));

[Patch]
application.runReadAction(new JCRPushProcess(target, jcrConfiguration, mimetypesFileTypeMap));

[Demonstration 3]

[Buggy Method]
public void setIndecis(Document document) {
    setStartIndex(document);
    setEndIndex(document);
}

[Buggy Hunk]
public void setIndecis(Document document) {

[Patch]
private void setIndecis(Document document) {