[Demonstration 1]

[Buggy Method]
@Override
public void update() {
    //System.out.println("\n\nWIDTH: "+camera.viewportWidth+"\nHEIGHT: "+camera.viewportHeight);
    //System.out.println("Game Objects: "+this.game_objects.size);
    if (Gdx.input.isKeyJustPressed(Keys.NUM_1)) {
        this.setLevel(this.LEVEL_ONE);
    } else if (Gdx.input.isKeyJustPressed(Keys.NUM_2)) {
        this.setLevel(this.LEVEL_TWO);
    } else if (Gdx.input.isKeyJustPressed(Keys.NUM_3)) {
        this.setLevel(this.LEVEL_THREE);
    } else /*if(Gdx.input.isKeyPressed(Keys.ENTER))*/
    {
        ray_handler.setCombinedMatrix(camera);
        world.step(this.fps, 6, 2);
        controllers.get(controller).update();
    }
    //        if(levels.get(level).getTime()<1){
    //            if(levels.get(level).win()){
    //                level++;
    //
    //            }
    //            this.setLevel(level);
    //
    //        }
}

[Buggy Hunk]
controllers.get(controller).update();

[Patch]
controller.update();

[Demonstration 2]

[Buggy Method]
public static Result service(String ownerName, String projectName, String service, boolean isAdvertise) throws IOException, UnsupportedOperationException, ServletException {
    if (!isSupportedService(service)) {
        return forbidden(String.format("Unsupported service: '%s'", service));
    }
    Project project = Project.findByOwnerAndProjectName(ownerName, projectName);
    if (project == null) {
        return notFound();
    }
    models.User user = UserApp.currentUser();
    if (!isAllowed(project, service)) {
        if (user.isAnonymous()) {
            return BasicAuthAction.unauthorized(response());
        } else {
            // If you want the Git client showing your custom message to
            // the user, the Content-Type should be exact "text/plain"
            // without any parameter. For more details, see the code at
            // https://github.com/git/git/commit/426e70d4a11ce3b4f70636d57c6a0ab16ae08a00#diff-eea0ad565ec5903a11b6023755d491cfR154
            response().setHeader("Content-Type", "text/plain");
            return forbidden(String.format("'%s' has no permission to '%s/%s'.", user.name, ownerName, projectName));
        }
    }
    if (isAdvertise) {
        return ok(RepositoryService.gitAdvertise(project, service, response()));
    } else {
        if (request().body().isMaxSizeExceeded()) {
            return status(REQUEST_ENTITY_TOO_LARGE);
        } else {
            user.visits(project);
            return ok(RepositoryService.gitRpc(project, service, request(), response()));
        }
    }
}

[Buggy Hunk]
user.name, ownerName, projectName));

[Patch]
user.loginId, ownerName, projectName));

[Demonstration 3]

[Buggy Method]
protected Object initBeanProperties(Class<?> beanClazz, String beanId, Map<String, Object> propertyValues, Map<String, Class<?>> propertyTypes) {
    String propertyName = null;
    Object value = null;
    Class<?> propertyClazz = null;
    Object beanObj = null;
    try {
        if (null == propertyValues || null == propertyTypes) {
            if (null == beanClazz) {
                throw new Exception("some input paramters is null !");
            }
            return beanClazz.newInstance();
        }
        beanObj = beanClazz.newInstance();
        for (Iterator key_it = propertyValues.keySet().iterator(); key_it.hasNext(); ) {
            propertyName = (String) key_it.next();
            propertyClazz = propertyTypes.get(propertyName);
            value = propertyValues.get(propertyName);
            if (isRefBean(value)) {
                @SuppressWarnings("unchecked")
                Map<String, String> propertyRefBeanIds = this.getParser().getBeanPropertyRefBeanId().get(beanId);
                String refBeanId = propertyRefBeanIds.get(propertyName);
                value = getBean(refBeanId);
            }
            initBeanProperty(beanObj, propertyName, propertyClazz, value);
        }
    } catch (Exception e) {
        e.printStackTrace();
    }
    return beanObj;
}

[Buggy Hunk]
value = getBean(refBeanId);

[Patch]
value = getBean(refBeanId, getCurrentFilePath());