code: protected synchronized void logDigest(IApiError error, Exception ex) {
  		String fingerprint = createFingerprint(ex);
  		Integer rec = Check.ifNull(recurrences.get(fingerprint), 0);
  		recurrences.put(fingerprint, ++rec);
  		if (rec == 1) {
  			log.error(STR.fmt("{0} - EX_ID: {1}", createTitle(error), fingerprint), logExpand ? ex : null);
  		} else {
  			log.error(STR.fmt("{0} - REF_EX_ID({1}): {2}", createTitle(error), rec, fingerprint));
  			if (rec > logDigestSize) {
  				recurrences.remove(fingerprint);
  				causes.remove(fingerprint);
  			}
  		}
  	}
docs: used for?