[Demonstration 1]

[Buggy Method]
@Test
public void testSendFeedback() {
    Graphene.waitModel().until().element(feedbackButton).is().visible();
    feedbackButton.click();
    guardAjax(feedback).sendFeedback("graphene-test", EMAIL);
    assertTrue(feedback.getAlertMsg().isSuccessAlert());
}

[Buggy Hunk]
guardAjax(feedback).sendFeedback("graphene-test", EMAIL);

[Patch]
feedback.sendFeedback("graphene-test", EMAIL);

[Demonstration 2]

[Buggy Method]
public static java.util.Properties getProperties() {
    if (properties == null) {
        properties = new java.util.Properties();
        FileInputStream fileInputStream = null;
        try {
            fileInputStream = new FileInputStream(Values.PROPERTIES_FILE_NAME);
            properties.load(fileInputStream);
        } catch (IOException e) {
            // TODO Use second 'stdout' logger here, because ctor LoggerWrapper call this method
            Singleton.getLogger().severe("Unable to load 'searchcode.properties' file. Will resort to defaults for all values.");
        } finally {
            IOUtils.closeQuietly(fileInputStream);
        }
    }
    return properties;
}

[Buggy Hunk]
public static java.util.Properties getProperties() {

[Patch]
public static synchronized java.util.Properties getProperties() {

[Demonstration 3]

[Buggy Method]
public static Typeface getTypeface(Context context) {
    synchronized (cache) {
        if (!cache.containsKey(FONT_AWESOME)) {
            cache.put(FONT_AWESOME, Typeface.createFromAsset(context.getAssets(), FONT_AWESOME));
        }
        return cache.get(FONT_AWESOME);
    }
}

[Buggy Hunk]
cache.put(FONT_AWESOME,Typeface.createFromAsset(context.getAssets(), FONT_AWESOME));

[Patch]
cache.put(FONT_AWESOME, processFontFromRaw(context));