[Demonstration 1]

[Buggy Method]
private Object getImple(String key, String stackName) {
    if (variables.containsKey(key)) {
        Object var = variables.get(key);
        if (stackName.equals(name))
            return var;
        //同じstackNameでなければポインタ渡しの場合のみparentからget可能
        if (var instanceof String) {
            if (((String) var).startsWith("&")) {
                return var;
            }
        }
    }
    if (parent != null) {
        return parent.get(key);
    } else {
        if (listeners != null) {
            ValueSetter setter = new ValueSetter();
            for (VariableNotFoundListener listener : listeners) {
                listener.variableNotFound(key, setter);
                if (setter.hasValue) {
                    return setter.value;
                }
            }
        }
        throw new UniRuntimeError(String.format("variable '%s' is not defined.", key));
    }
}

[Buggy Hunk]
if(stackName.equals(name))

[Patch]
if(stackName.equals(name) || this.type==Type.GLOBAL)

[Demonstration 2]

[Buggy Method]
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_splash);
    mUnbinder = ButterKnife.bind(this);
    setUI();
}

[Buggy Hunk]
setContentView(R.layout.activity_splash);

[Patch]
setContentView(R.layout.splash_screen);

[Demonstration 3]

[Buggy Method]
@Override
public void connect() throws ConnectionException {
    try {
        session = jsch.getSession(super.username, super.host, super.port);
        session.setPassword(password);
        session.connect();
    } catch (JSchException e) {
        // logger.error(e.getMessage());
    }
}

[Buggy Hunk]
public void connect() throws ConnectionException {

[Patch]
public void connect() {