code: public synchronized T slow(Factory<T> p, Object... args) throws Exception {
          T result = _value;
          if (isMissing(result)) {
              _value = result = p.make(args);
          }
          return result;
      }
docs: For performance evaluation only - do not use.
  
  @param p a {@link org.xillium.base.Factory Factory} that can be called to create a new value with more than 1 arguments
  @param args the arguments to pass to the factory
  @return the singleton object
  @throws Exception if the factory fails to create a new value