[Demonstration 1]

[Buggy Method]
public E removeLast() {
    if (isEmpty()) {
        throw new RuntimeException("list empty");
    }
    Node last = head.next;
    last.prev.next = last.next;
    last.next.prev = last.prev;
    size--;
    return last.element;
}

[Buggy Hunk]
Node last = head.next;

[Patch]
Node<E> last = head.next;

[Demonstration 2]

[Buggy Method]
private <T extends Enum<T>> void addDefaults(Class<T> type, String key, boolean def, List<T> exempt) {
    ConfigurationSection section = config.getConfigurationSection(key);
    for (T target : type.getEnumConstants()) {
        section.addDefault(target.name(), exempt.contains(target) == def);
    }
}

[Buggy Hunk]
ConfigurationSection section = config.getConfigurationSection(key);

[Patch]
ConfigurationSection section = getOrCreateSection(key);

[Demonstration 3]

[Buggy Method]
public static <T extends Enum> boolean isOneOf(T enum_, T... enums) {
    return list(enums).contains(enum_);
}

[Buggy Hunk]
public static <T extends Enum> boolean isOneOf(T enum_, T... enums) {

[Patch]
public static <T extends Enum> boolean isOneOf(@NonNull T enum_, T... enums) {