[Demonstration 1]

[Buggy Method]
public synchronized void handleImportRequest(List<ImportRequest> requests, VCardImportExportListener listener) {
    if (DEBUG) {
        final ArrayList<String> uris = new ArrayList<String>();
        final ArrayList<String> displayNames = new ArrayList<String>();
        for (ImportRequest request : requests) {
            uris.add(request.uri.toString());
            displayNames.add(request.displayName);
        }
        Log.d(LOG_TAG, String.format("received multiple import request (uri: %s, displayName: %s)", uris.toString(), displayNames.toString()));
    }
    final int size = requests.size();
    for (int i = 0; i < size; i++) {
        ImportRequest request = requests.get(i);
        if (tryExecute(new ImportProcessor(this, listener, request, mCurrentJobId))) {
            if (listener != null) {
                listener.onImportProcessed(request, mCurrentJobId, i);
            }
            mCurrentJobId++;
        } else {
            if (listener != null) {
                listener.onImportFailed(request);
            }
            // A rejection means executor doesn't run any more. Exit.
            break;
        }
    }
}

[Buggy Hunk]
uris.add(request.uri.toString());

[Patch]
uris.add(String.valueOf(request.uri));

[Demonstration 2]

[Buggy Method]
protected ServletContextHandler addResourceHandler(String contextPath, File resourceBase) {
    ServletContextHandler context = new ServletContextHandler();
    ResourceHandler staticResource = new ResourceHandler();
    staticResource.setDirectoriesListed(true);
    staticResource.setWelcomeFiles(new String[] { "index.html" });
    staticResource.setResourceBase(resourceBase.getAbsolutePath());
    MimeTypes mimeTypes = new MimeTypes();
    mimeTypes.addMimeMapping("appcache", "text/cache-manifest");
    staticResource.setMimeTypes(mimeTypes);
    context.setContextPath(contextPath);
    context.setHandler(staticResource);
    context.setAliasChecks(ImmutableList.of(new ApproveAliases(), new AllowSymLinkAliasChecker()));
    handlers.addHandler(context);
    return context;
}

[Buggy Hunk]
ResourceHandler staticResource = new ResourceHandler();

[Patch]
ResourceHandler staticResource = new ResourceHandler2();

[Demonstration 3]

[Buggy Method]
@Test
public void testRateLimitExceedCapacity() throws Exception {
    this.request.setRequestURI("/serviceA");
    this.request.setRemoteAddr("10.0.0.100");
    this.request.addHeader("X-FORWARDED-FOR", "10.0.0.1");
    assertTrue(this.filter.shouldFilter());
    try {
        for (int i = 0; i <= 3; i++) {
            this.filter.run();
        }
    } catch (Exception e) {
        // do nothing
    }
    String exceeded = (String) this.context.get("rateLimitExceeded");
    assertTrue("RateLimit Exceeded", Boolean.valueOf(exceeded));
    assertEquals("Too many requests", this.context.getResponseStatusCode(), TOO_MANY_REQUESTS.value());
}

[Buggy Hunk]
assertEquals("Too many requests", this.context.getResponseStatusCode(), TOO_MANY_REQUESTS.value());

[Patch]
assertEquals("Too many requests", TOO_MANY_REQUESTS.value(), this.context.getResponseStatusCode());