public boolean release(final ResourceProfile reservation) {
        checkResourceProfileNotNullOrUnknown(reservation);
        ResourceProfile newAvailableBudget = availableBudget.merge(reservation);
        if (!totalBudget.allFieldsNoLessThan(newAvailableBudget)) {
            return false;
        }

        availableBudget = newAvailableBudget;
        LOG.debug("Resource budget increased to {}.", availableBudget);
        return true;
    }
@Test
    void testRelease() {
        ResourceBudgetManager budgetManager =
                new ResourceBudgetManager(createResourceProfile(1.0, 100));

        assertThat(budgetManager.reserve(createResourceProfile(0.7, 70))).isEqualTo(true);
        assertThat(budgetManager.release(createResourceProfile(0.5, 50))).isEqualTo(true);
        assertThat(budgetManager.getAvailableBudget()).isEqualTo(createResourceProfile(0.8, 80));
    }