class ReceiptCurrencyCodeSupplier implements CurrencyCodeSupplier {

    @NonNull
    @Override
    public String get() {
        if (receipt != null) {
            return receipt.getPrice().getCurrencyCode();
        } else if (receiptInputCache.getCachedCurrency() != null) {
            return receiptInputCache.getCachedCurrency();
        } else {
            return trip.getDefaultCurrencyCode();
        }
    }

    public  ReceiptCurrencyCodeSupplier(@NonNull Trip trip, @NonNull ReceiptInputCache receiptInputCache, @Nullable Receipt receipt);

}