[Demonstration 1]

[Buggy Method]
public SparseRow nextSparseRow() throws IOException {
    String line = bufferedReader.readLine();
    if (line == null) {
        return null;
    }
    String[] lineElements = line.split(" ");
    int rowIndex = Integer.parseInt(lineElements[0]);
    int[] indices = new int[lineElements.length - 1];
    double[] values = new double[lineElements.length - 1];
    for (int i = 1; i < lineElements.length; i++) {
        String[] indexValuePair = lineElements[i].split(":");
        indices[i - 1] = Integer.parseInt(indexValuePair[0]);
        values[i - 1] = Double.parseDouble(indexValuePair[1]);
    }
    return new SparseRow(rowIndex, indices, values);
}

[Buggy Hunk]
String line = bufferedReader.readLine();

[Patch]
String line = nextLine();

[Demonstration 2]

[Buggy Method]
@SuppressFBWarnings({ "IS2_INCONSISTENT_SYNC", "DC_DOUBLECHECK" })
public KubernetesClient connect() throws UnrecoverableKeyException, NoSuchAlgorithmException, KeyStoreException, IOException, CertificateEncodingException {
    LOGGER.log(Level.FINE, "Building connection to Kubernetes {0} URL {1}" + serverUrl, new String[] { getDisplayName(), serverUrl });
    client = new KubernetesFactoryAdapter(serverUrl, namespace, serverCertificate, credentialsId, skipTlsVerify, connectTimeout, readTimeout).createClient();
    LOGGER.log(Level.FINE, "Connected to Kubernetes {0} URL {1}" + serverUrl, new String[] { getDisplayName(), serverUrl });
    return client;
}

[Buggy Hunk]
connectTimeout, readTimeout).createClient();

[Patch]
connectTimeout, readTimeout, maxRequestsPerHost).createClient();

[Demonstration 3]

[Buggy Method]
public Tile rotatedCopy() {
    Tile tile = new Tile(left, top, right, bottom);
    tile.rotations++;
    return tile;
}

[Buggy Hunk]
tile.rotations ++;

[Patch]
tile.rotations = rotations+1;