[Demonstration 1]

[Buggy Method]
public static List<List<Integer>> findSomeTrace(List<Integer> target, Automata from, EdgeWeightedDigraph function) {
    final List<List<Integer>> trace = new ArrayList<>();
    final Automata init = AutomataUtility.getWordAutomaton(from, target.size());
    final boolean isFound = findSomeTraceHelper(init, function, target, trace);
    return isFound ? trace : null;
}

[Buggy Hunk]
final List<List<Integer>> trace = new ArrayList<>();

[Patch]
final LinkedList<List<Integer>> trace = new LinkedList<>();

[Demonstration 2]

[Buggy Method]
private StoredMessage<MessageMetaData_0_10> convertToStoredMessage(final Message_1_0 serverMsg, final NamedAddressSpace addressSpace) {
    Object bodyObject = MessageConverter_from_1_0.convertBodyToObject(serverMsg);
    final ObjectToMimeContentConverter converter = MimeContentConverterRegistry.getBestFitObjectToMimeContentConverter(bodyObject);
    final byte[] messageContent = converter == null ? new byte[] {} : converter.toMimeContent(bodyObject);
    final String mimeType = converter == null ? null : converter.getMimeType();
    final MessageMetaData_0_10 messageMetaData_0_10 = convertMetaData(serverMsg, addressSpace, mimeType, messageContent.length);
    final int metadataSize = messageMetaData_0_10.getStorableSize();
    return new StoredMessage<MessageMetaData_0_10>() {

        @Override
        public MessageMetaData_0_10 getMetaData() {
            return messageMetaData_0_10;
        }

        @Override
        public long getMessageNumber() {
            return serverMsg.getMessageNumber();
        }

        @Override
        public Collection<QpidByteBuffer> getContent(final int offset, final int length) {
            return Collections.singleton(QpidByteBuffer.wrap(messageContent, offset, length));
        }

        @Override
        public int getContentSize() {
            return messageContent.length;
        }

        @Override
        public int getMetadataSize() {
            return metadataSize;
        }

        @Override
        public void remove() {
            throw new UnsupportedOperationException();
        }

        @Override
        public boolean isInMemory() {
            return true;
        }

        @Override
        public boolean flowToDisk() {
            return false;
        }

        @Override
        public void reallocate() {
        }
    };
}

[Buggy Hunk]
Object bodyObject = MessageConverter_from_1_0.convertBodyToObject(serverMsg);

[Patch]
Object bodyObject = convertBodyToObject(serverMsg);

[Demonstration 3]

[Buggy Method]
static private String convertNumberLess10(int number, boolean is_thousands) {
    if (number < 1 || number > 9) {
        throw new IllegalArgumentException("Number is " + number + ".");
    }
    if (is_thousands && number < 3) {
        return number == 1 ? "одна" : "две";
    }
    String[] numbersLess10 = new String[] { "один", "два", "три", "четыре", "пять", "шесть", "семь", "восемь", "девять" };
    return numbersLess10[number - 1];
}

[Buggy Hunk]
throw new IllegalArgumentException("Number is " + number + ".");

[Patch]
throw new IllegalArgumentException();