docs: public String getCanonicalTypeName(Object object) {
      ensureNotNull("object", object);
  
      for (TypeDetector typeDetector : typeDetectors) {
        if (typeDetector.canHandle(object)) {
          return typeDetector.detectType(object);
        }
      }
  
      throw LOG.unableToDetectCanonicalType(object);
    }