If a SQLException gets thrown at various points in DatabaseMetadata.getTableMetadata(...) then the ResultSet cleanup code may trip on a NPE.
Similarly for DatabaseMetadata.initSequences(...)