code: public <T extends InteractionAwareFixture> T create(Class<T> clazz, Class<?>[] constructorTypes, Object[] constructorArgs) {
          MethodInterceptor callback = createCallback();
  
          T result;
          if (FACTORIES.containsKey(clazz)) {
              Factory factory = FACTORIES.get(clazz);
              result = createUsingFactory(callback, factory, constructorTypes, constructorArgs);
          } else {
              result = createFirst(callback, clazz, constructorTypes, constructorArgs);
              FACTORIES.put(clazz, (Factory) result);
          }
          return result;
      }
docs: Creates new instance of fixture.
  @param clazz class to instantiate.
  @param constructorTypes types of arguments used to determine which constructor to use.
  @param constructorArgs arguments to pass to constructor of clazz.
  @param <T> type to create.
  @return instance of clazz (subclass, actually) that will have #aroundSlimInvoke() invoked on each method call.