[Demonstration 1]

[Buggy Method]
@SuppressWarnings("OptionalGetWithoutIsPresent")
@Listener(order = Order.LATE)
public void onAboutToStart(GameAboutToStartServerEvent event) {
    if (!enabled) {
        return;
    }
    permissionService = Sponge.getServiceManager().provideUnchecked(PermissionService.class);
    if (Sponge.getServiceManager().getRegistration(PermissionService.class).get().getPlugin().getId().equalsIgnoreCase("sponge")) {
        getLogger().error("Unable to initialize plugin. SkyClaims requires a permissions plugin. Disabling SkyClaims.");
        enabled = false;
        return;
    }
    registerListeners();
    registerTasks();
    registerCommands();
}

[Buggy Hunk]
getLogger().error("Unable to initialize plugin. SkyClaims requires a permissions plugin. Disabling SkyClaims.");

[Patch]
logger.error("Unable to initialize plugin. SkyClaims requires a permissions plugin. Disabling SkyClaims.");

[Demonstration 2]

[Buggy Method]
public void updateFixedPrincipalAmount(final MathContext mc, final int periodNumber, final Money outstandingAmount) {
    final Integer numberOfPrincipalPaymentPeriods = calculateNumberOfRemainingPrincipalPaymentPeriods(this.actualNumberOfRepayments, this.getRecurringMoratoriumOnPrincipalPeriods(), this.getPrincipalGrace(), periodNumber - 1);
    Money principal = outstandingAmount.dividedBy(numberOfPrincipalPaymentPeriods - periodNumber + 1, mc.getRoundingMode());
    this.fixedPrincipalAmount = principal.getAmount();
}

[Buggy Hunk]
Money principal = outstandingAmount.dividedBy(numberOfPrincipalPaymentPeriods - periodNumber + 1, mc.getRoundingMode());

[Patch]
Money principal = outstandingAmount.dividedBy(numberOfPrincipalPaymentPeriods, mc.getRoundingMode());

[Demonstration 3]

[Buggy Method]
public void updateFixedPrincipalAmount(final MathContext mc, final int periodNumber, final Money outstandingAmount) {
    final Integer numberOfPrincipalPaymentPeriods = calculateNumberOfRemainingPrincipalPaymentPeriods(this.actualNumberOfRepayments, this.getRecurringMoratoriumOnPrincipalPeriods(), this.getPrincipalGrace(), periodNumber);
    Money principal = outstandingAmount.dividedBy(numberOfPrincipalPaymentPeriods - periodNumber + 1, mc.getRoundingMode());
    this.fixedPrincipalAmount = principal.getAmount();
}

[Buggy Hunk]
this.getPrincipalGrace(), periodNumber);

[Patch]
this.getPrincipalGrace(), periodNumber-1);