code: @Nonnull
    public static <DATATYPE> DATATYPE newInstance (@Nonnull final DATATYPE aObj) throws IllegalAccessException,
                                                                                 NoSuchMethodException,
                                                                                 InvocationTargetException,
                                                                                 InstantiationException
    {
      return findConstructor (aObj).newInstance ();
    }
docs: Create a new instance of the class identified by the passed object. The
  default constructor will be invoked.
  
  @param <DATATYPE>
  The type of object to be created.
  @param aObj
  The object from which the class should be used.
  @return A new instance of the object or an exception is thrown.
  @throws IllegalAccessException
  Reflection exception
  @throws NoSuchMethodException
  Reflection exception
  @throws InvocationTargetException
  Reflection exception
  @throws InstantiationException
  Reflection exception