[Demonstration 1]

[Buggy Method]
@Override
public void setBeanFactory(BeanFactory beanFactory) throws BeansException {
    if (cloudFactory == null) {
        try {
            cloudFactory = beanFactory.getBean(CloudFactory.class);
        } catch (NoSuchBeanDefinitionException ex) {
            cloudFactory = new CloudFactory();
            ((SingletonBeanRegistry) beanFactory).registerSingleton(CLOUD_FACTORY_BEAN_NAME, cloudFactory);
        }
    }
    this.cloud = cloudFactory.getCloud();
    this.connectionFactory = new ServiceConnectionFactory();
}

[Buggy Hunk]
this.connectionFactory = new ServiceConnectionFactory();

[Patch]
this.connectionFactory = new CloudServiceConnectionFactory(cloud);

[Demonstration 2]

[Buggy Method]
@RxLogObservable
public <T> Observable<T> setupObservable(Observable<T> observable, String callType) {
    return observable.doOnSubscribe(() -> addRunningCall(callType)).doAfterTerminate(() -> removeRunningCall(callType));
}

[Buggy Hunk]
.doAfterTerminate(() -> removeRunningCall(callType));

[Patch]
.doOnUnsubscribe(() -> removeRunningCall(callType));

[Demonstration 3]

[Buggy Method]
public ConnectionFactory getConnectionFactory() {
    if (connectionFactory == null) {
        ConnectionFactory connectionFactory = new ConnectionFactory();
        connectionFactory.setConnectionTimeout(1000);
        connectionFactory.setHost(host);
        connectionFactory.setPort(port);
    }
    return connectionFactory;
}

[Buggy Hunk]
ConnectionFactory connectionFactory = new ConnectionFactory();

[Patch]
connectionFactory = new ConnectionFactory();