code: private static <T> T instantiate(Class<T> pojoClass) throws InstantiationException, IllegalAccessException, java.lang.reflect.InvocationTargetException {
          try {
              Constructor<T> constructor = pojoClass.getDeclaredConstructor();
              constructor.setAccessible(true);
              return constructor.newInstance();
          } catch (NoSuchMethodException e) {
              Function<Class<?>,Object> fn = unsafeInstantiator.get();
              if (fn == null) {
                  throw new HecateException(e, "Unable to instantiate object of type %s (no-arg constructor missing).", pojoClass.getCanonicalName());
              }
              return (T) fn.apply(pojoClass);
          }
      }
docs: ----------------------------------------------------------------------------------------------------------------------