public class DemoEsito {
    sealed interface Esito permits Confermato, Rifiutato {
    }

    record Confermato(String codice) implements Esito {
    }

    record Rifiutato(String motivo) implements Esito {
    }

    static String descrivi(Esito esito) {
        return switch (esito) {
            case Confermato confermato -> "prestito " + confermato.codice();
            case Rifiutato rifiutato -> "rifiuto: " + rifiutato.motivo();
        };
    }

    public static void main(String[] args) {
        System.out.println(descrivi(new Confermato("B-17")));
        System.out.println(descrivi(new Rifiutato("non disponibile")));
    }
}
