what happens if a dataType that doesn't exist is passed in?  Or an improperly formatted collection type?  A test with the edge cases covered would be nice.