[Demonstration 1]

[Buggy Method]
private void addPeersToBgpConfig() {
    reset(bgpConfig);
    Set<BgpConfig.BgpSpeakerConfig> speakers = new HashSet<>();
    Optional<String> speakerName = Optional.empty();
    ConnectPoint connectPoint = CP2;
    Set<IpAddress> connectedPeers = new HashSet<>(Arrays.asList(IpAddress.valueOf(PEER1_IP), IpAddress.valueOf(PEER2_IP), IpAddress.valueOf(PEER1_IP6), IpAddress.valueOf(PEER2_IP6)));
    speakers.add(new BgpConfig.BgpSpeakerConfig(speakerName, connectPoint, connectedPeers));
    expect(bgpConfig.bgpSpeakers()).andReturn(speakers).anyTimes();
    replay(bgpConfig);
}

[Buggy Hunk]
speakers.add(new BgpConfig.BgpSpeakerConfig(speakerName,

[Patch]
speakers.add(new BgpConfig.BgpSpeakerConfig(speakerName, VlanId.NONE,

[Demonstration 2]

[Buggy Method]
@Test
public void saveImageInDatabase() throws IOException {
    byte[] fileAsByteArray = FileUtils.readFileToByteArray(new File("src/test/resources/sample_images/kitten.jpg"));
    assertNotNull(fileAsByteArray);
    final String key = "12345";
    ImageBinary imageBinary = new ImageBinary(key, fileAsByteArray, "group1", fileAsByteArray);
    ImageBinary saved = imageBinaryRepository.save(imageBinary);
    assertNotNull(saved);
    assertEquals(key, saved.getKey());
    ImageBinary retrievedFromDb = imageBinaryRepository.findOne(saved.getKey());
    assertNotNull(retrievedFromDb);
    assertEquals(saved.getKey(), retrievedFromDb.getKey());
    assertNotNull(retrievedFromDb.getImageBinary());
    String tempDir = System.getProperty("java.io.tmpdir");
    File targetFile = new File(tempDir + File.separator + "kitten_from_db.jpg");
    FileUtils.writeByteArrayToFile(targetFile, retrievedFromDb.getImageBinary());
    LOG.debug("written file to: {}", targetFile);
    assertTrue(targetFile.exists());
}

[Buggy Hunk]
final String key = "12345";

[Patch]
final String key = UUID.randomUUID().toString();

[Demonstration 3]

[Buggy Method]
public SearchResult search(List<String> indices, List<String> types, String searchText, Filters filters, Sort sort, Page page) {
    QueryBuilder filterBuilder = constructBoolFilter(filters);
    QueryBuilder queryBuilder = QueryBuilders.matchAllQuery();
    if (StringUtils.isNotEmpty(searchText)) {
        queryBuilder = QueryBuilders.queryStringQuery(QueryParserUtil.escape(searchText)).lenient(true).field("searchable.*").field("common.*").field("clauses.*");
    }
    QueryBuilder rootQueryBuilder;
    if (filters.isNotEmpty()) {
        rootQueryBuilder = QueryBuilders.boolQuery().must(queryBuilder).filter(filterBuilder);
    } else {
        rootQueryBuilder = queryBuilder;
    }
    String response = elasticSearchClient.search(indices, types, rootQueryBuilder, sort, page);
    return SearchResult.from(response);
}

[Buggy Hunk]
queryBuilder = QueryBuilders.queryStringQuery(QueryParserUtil.escape(searchText))

[Patch]
queryBuilder = QueryBuilders.queryStringQuery(SearchUtil.escape(searchText))