Make this private and add abstract operations that do larger operations like:

            for (Column col: m_table.getColumns()) {
                m_columnIndexToName.put(col.getIndex(), col.getTypeName());
            }

Also, if we are going to populate all the columns from the 0th to the last, an ArrayList would be more efficient than a map.