If the table option was provided to the constructor and it
was a string, TypeRegistry will be used to get the correct table instance.
If an object is provided as the type option, it will be used as is.
If no type option is provided, the type name will be derived based on
naming conventions. This inference will work with a number of common objects
like arrays, Collection objects and ResultSets.