[Demonstration 1]

[Buggy Method]
public void start(BundleContext bc) throws Exception {
    String bundleName = (String) bc.getBundle().getHeaders().get(Constants.BUNDLE_NAME);
    System.out.println("Started " + bundleName);
    Object obj = bc.getService(bc.getServiceReference(DependencyResolver.class.getName()));
    System.out.println(obj.getClass().getName());
    ClientDependencyResolver cdr = (ClientDependencyResolver) obj;
    final CalendarService clock = cdr.getService(CalendarService.class);
    Thread t = new Thread(new Runnable() {

        public void run() {
            DateService service = new DateService(clock);
            while (!Thread.interrupted()) {
                System.out.println(service.getDateString());
                try {
                    Thread.sleep(5000);
                } catch (InterruptedException e) {
                    // kill loop
                    break;
                }
            }
        }
    });
    t.start();
}

[Buggy Hunk]
ClientDependencyResolver cdr = (ClientDependencyResolver) obj;

[Patch]
DependencyResolver cdr = (DependencyResolver) obj;

[Demonstration 2]

[Buggy Method]
@Override
@SideOnly(Side.CLIENT)
public void randomDisplayTick(World worldIn, BlockPos pos, IBlockState state, Random rand) {
    //TODO this is torch code as a placeholder, still need to adjust positioning and particle type
    //Also make small thrust sounds
    if (worldIn.provider instanceof WorldProviderSpaceStation) {
        if (((WorldProviderSpaceStation) worldIn.provider).getSpinManager().thrustersFiring || rand.nextInt(80) == 0) {
            final int var6 = getMetaFromState(state) & 7;
            final double var7 = pos.getX() + 0.5F;
            final double var9 = pos.getY() + 0.7F;
            final double var11 = pos.getZ() + 0.5F;
            final double var13 = 0.2199999988079071D;
            final double var15 = 0.27000001072883606D;
            if (var6 == 1) {
                worldIn.spawnParticle(EnumParticleTypes.SMOKE_NORMAL, var7 - var15, var9 + var13, var11, 0.0D, 0.0D, 0.0D);
            } else if (var6 == 2) {
                worldIn.spawnParticle(EnumParticleTypes.SMOKE_NORMAL, var7 + var15, var9 + var13, var11, 0.0D, 0.0D, 0.0D);
            } else if (var6 == 3) {
                worldIn.spawnParticle(EnumParticleTypes.SMOKE_NORMAL, var7, var9 + var13, var11 - var15, 0.0D, 0.0D, 0.0D);
            } else if (var6 == 4) {
                worldIn.spawnParticle(EnumParticleTypes.SMOKE_NORMAL, var7, var9 + var13, var11 + var15, 0.0D, 0.0D, 0.0D);
            }
        }
    }
}

[Buggy Hunk]
final int var6 = getMetaFromState(state) & 7;

[Patch]
final int var6 = this.getMetaFromState(state) & 7;

[Demonstration 3]

[Buggy Method]
@SuppressWarnings("unchecked")
public List<Update> pollUpdates(Integer offset, Integer limit, Integer timeout) throws IOException, ParseException, ResponseError {
    JSONArray updates = sendRequest(new GetUpdatesRequest(offset, limit, timeout), timeout * 1000 + 5000);
    return (List<Update>) updates.stream().map(u -> new Update((JSONObject) u)).collect(Collectors.toList());
}

[Buggy Hunk]
timeout * 1000 + 5000);

[Patch]
timeout == null ? 5000 : timeout * 1000 + 5000);