public static <T> T getObjWithArgs(String className, Class<T> clazz, ConstructorArgument<?>... args) {
    return doGetObjWithArgs(className, clazz, args);
  }
Create an instance of the specified class with constructor matching the arguments. Make sure that the types passed
using {@link ConstructorArgument} match the compile-time types of the arguments of the constructor that should be
used.

@param <T> type of the object to return
@param className name of the class
@param clazz type of object to return
@param args arguments with types for finding and calling desired constructor to create an instance of className
@return instance of the class
@throws SamzaException if an exception was thrown while trying to create the class
samza-core/src/main/java/org/apache/samza/util/ReflectionUtil.java