docs: private BigDecimal denominateAndRound(BigInteger satoshis, int minDecimals, List<Integer> fractionGroups) {
          int scale = scale(satoshis, minDecimals);
          BigDecimal denominatedUnitCount = new BigDecimal(satoshis).movePointLeft(offSatoshis(scale));
          int places = calculateFractionPlaces(denominatedUnitCount, scale, minDecimals, fractionGroups);
          return denominatedUnitCount.setScale(places, HALF_UP);
      }