code: public static Module instantiateModule(final Class<? extends Module> clazz,
        final Parameters params)
        throws IllegalAccessException, InvocationTargetException, InstantiationException {
      return instantiateModule(clazz, params, Optional.<Class<? extends Annotation>>absent());
    }
docs: Instantiates the given module class {@code clazz}.  First this looks for a constructor taking
  {@link Parameters} as its only argument and uses it with the supplied {@code params} if
  possible. Otherwise attempts to find and use a zero-arg constructor. Otherwise throws
  a {@link RuntimeException}.