Possible suggestion: Maybe the basic table name formatter shouldn't be a "null" formatter. As suggested in http://stackoverflow.com/a/1543309 all formatters should always strip some characters from all table names and identifiers. At least 0x00, backslashes and double quotes (because double quotes are the ANSI standard way to quote). Maybe also back quotes.

This basic formatter would then be used as the super class for all other formatters.