docs: public Map<String, KrakenLedger> getKrakenLedgerInfo(
        LedgerType ledgerType, Date start, Date end, Long offset, Currency... assets)
        throws IOException {
  
      String startTime = null;
      String endTime = null;
      long longOffset = 0;
  
      if (start != null) {
        startTime = String.valueOf(DateUtils.toUnixTime(start));
      }
      if (end != null) {
        endTime = String.valueOf(DateUtils.toUnixTime(end));
      }
      if (offset != null) {
        longOffset = offset;
      }
  
      Map<String, KrakenLedger> fullLedgerMap =
          getKrakenPartialLedgerInfo(ledgerType, startTime, endTime, offset, assets);
      Map<String, KrakenLedger> lastLedgerMap = fullLedgerMap;
  
      while (!lastLedgerMap.isEmpty()) {
        longOffset += lastLedgerMap.size();
        lastLedgerMap =
            getKrakenPartialLedgerInfo(ledgerType, startTime, endTime, longOffset, assets);
        if (lastLedgerMap.size() == 1 && fullLedgerMap.keySet().containsAll(lastLedgerMap.keySet())) {
          break;
        }
        fullLedgerMap.putAll(lastLedgerMap);
      }
      return fullLedgerMap;
    }