[Demonstration 1]

[Buggy Method]
public static LinkedList<String> getArgsFromText(String text) {
    final LinkedList<String> args = new LinkedList<>();
    final Pattern p = Pattern.compile("([\"'])(?:(?=(\\\\?))\\2.)*?\\1|([^\\s]+)");
    final Matcher m = p.matcher(text);
    while (m.find()) {
        String s = m.group();
        if (s.startsWith("\'") || s.startsWith("\""))
            s = s.substring(1, s.length() - 1);
        args.add(s.toLowerCase());
    }
    return args;
}

[Buggy Hunk]
args.add(s.toLowerCase());

[Patch]
args.add(s);

[Demonstration 2]

[Buggy Method]
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.single_event_edit_view);
    final Event event = (Event) getIntent().getSerializableExtra("Event");
    TextView textViewName = (TextView) findViewById(R.id.tvName);
    final EditText etName = (EditText) findViewById(R.id.etName);
    etName.setVisibility(View.INVISIBLE);
    final Spinner spinnerType = (Spinner) findViewById(R.id.spinnerType);
    Constants.EventType[] allEventTypes = values();
    final String[] spinnerTypeItems = CreateOptionsForType(allEventTypes);
    ArrayAdapter<String> adapterForEventType = new ArrayAdapter<String>(this, R.layout.support_simple_spinner_dropdown_item, spinnerTypeItems);
    spinnerType.setAdapter(adapterForEventType);
    spinnerType.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {

        @Override
        public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
            etName.setText(spinnerTypeItems[position]);
        }

        @Override
        public void onNothingSelected(AdapterView<?> parent) {
            etName.setText(spinnerTypeItems[0]);
        }
    });
    TextView textViewDate = (TextView) findViewById(R.id.tvDate);
    final EditText etDate = (EditText) findViewById(R.id.etDate);
    etDate.setText(event.GetEventDate());
    TextView textViewHour = (TextView) findViewById(R.id.tvHour);
    final EditText etHour = (EditText) findViewById(R.id.etHour);
    etHour.setText(event.GetEventHour());
    TextView textViewDescription = (TextView) findViewById(R.id.tvDescription);
    final EditText etDescription = (EditText) findViewById(R.id.etDescription);
    etDescription.setText(event.GetEventDescription());
    Button doneButton = (Button) findViewById(R.id.buttonDone);
    doneButton.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            Event editedEvent = new Event();
            if (etName.getText().length() > 0 && etDate.getText().length() > 0 && etHour.getText().length() > 0 && etDescription.getText().length() > 0) {
                editedEvent.SetEventID(event.GetEventID());
                editedEvent.SetEventName(etName.getText().toString());
                SimpleDateFormat dateFormat = new SimpleDateFormat("dd.MM.yyyy");
                Calendar date = Calendar.getInstance();
                try {
                    date.setTime(dateFormat.parse(etDate.getText().toString()));
                } catch (ParseException e) {
                    Log.e("DATE", e.getMessage());
                }
                editedEvent.SetEventDate(date);
                editedEvent.SetEventHour(etHour.getText().toString());
                editedEvent.SetEventDescription(etDescription.getText().toString());
            } else {
                throw new IllegalArgumentException("Field cannot be empty!");
            }
            Intent intent = new Intent(SingleEventEditActivity.this, MainActivity.class);
            Bundle bundle = new Bundle();
            bundle.putSerializable("Event", editedEvent);
            intent.putExtras(bundle);
            Data.GetListOfEvents().add(editedEvent.GetEventID(), editedEvent);
            Data.GetListOfEvents().remove(editedEvent.GetEventID() + 1);
            startActivity(intent);
            finish();
        }
    });
}

[Buggy Hunk]
final Event event = (Event) getIntent().getSerializableExtra("Event");

[Patch]
this.event = (Event) getIntent().getSerializableExtra("Event");

[Demonstration 3]

[Buggy Method]
public static List<Type> formalParameterTypesInContext(Method method, TypeAssignmentSet actualTypeParameters) throws LookupException {
    List<Type> result;
    if (method.nbTypeParameters() > 0 && actualTypeParameters != null) {
        Java7 language = method.language(Java7.class);
        // Substitute
        List<FormalParameter> formalParameters = method.formalParameters();
        List<TypeReference> references = new ArrayList<TypeReference>();
        for (FormalParameter par : formalParameters) {
            TypeReference tref = par.getTypeReference();
            TypeReference clone = Util.clone(tref);
            ReferenceStub stub = new ReferenceStub(clone);
            stub.setUniParent(tref.parent());
            references.add(clone);
        }
        result = new ArrayList<Type>();
        for (TypeReference tref : references) {
            TypeReference subst = tref;
            for (TypeParameter par : actualTypeParameters.assigned()) {
                subst = NonLocalJavaTypeReference.replace(language.reference(actualTypeParameters.type(par)), par, (JavaTypeReference) tref);
            }
            result.add(subst.getElement());
        }
    } else {
        result = method.header().formalParameterTypes();
    }
    return result;
}

[Buggy Hunk]
subst = NonLocalJavaTypeReference.replace(language.reference(actualTypeParameters.type(par)), par, (JavaTypeReference) tref);

[Patch]
subst = NonLocalJavaTypeReference.replace(language.reference(actualTypeParameters.type(par)), par, (JavaTypeReference) subst);