try {
get(COFFEE);
} catch (NoCoffeeMachineException e) {
logger.log(LogLevel.FATAL, e.getMessage());
} catch (NoCoffeeBeansException ex) {
refillCoffeeBeans();
tryToGetSomeCoffee();
} catch (NoWaterException ex) {
refillWater();
tryToGetSomeCoffee();
}