docs: public static void setNumConverter(Class customClass, Class<? extends NumConverter> converterClass) {
          NumConverter nc = converterCache.get(customClass);
          if (nc == null) {
              synchronized (converterClass) {
                  nc = converterCache.get(customClass);
                  if (nc == null) {
                      try {
                          nc = (NumConverter) converterClass.newInstance();
                      }
                      catch (Exception e) {
                          throw new CalculatorException(e);
                      }
                      
                      if (nc != null) {
                          if (converterClass.isAnnotationPresent(SingletonExtension.class))
                              converterCache.put(customClass, nc);
                      }
                  }
              }
          }
      }