public Object getObject(int columnIndex,
                             Map<String,Class<?>> map)
         throws SQLException
     {
        Object value;

        // sanity check.
        checkIndex(columnIndex);
        // make sure the cursor is on a valid row
        checkCursor();

        setLastValueNull(false);
        value = getCurrentRow().getColumnObject(columnIndex);

        // check for SQL NULL
        if (value == null) {
            setLastValueNull(true);
            return null;
        }
        if (value instanceof Struct) {
            Struct s = (Struct)value;

            // look up the class in the map
            Class<?> c = map.get(s.getSQLTypeName());
            if (c != null) {
                // create new instance of the class
                SQLData obj = null;
                    throw new SQLException("Unable to Instantiate: TODO from Replicadb");
                /*try {
                    //obj = (SQLData) ReflectUtil.newInstance(c);
                } catch(Exception ex) {
                    throw new SQLException("Unable to Instantiate: ", ex);
                }
                // get the attributes from the struct
                Object attribs[] = s.getAttributes(map);
                // create the SQLInput "stream"
                SQLInputImpl sqlInput = new SQLInputImpl(attribs, map);
                // read the values...
                obj.readSQL(sqlInput, s.getSQLTypeName());
                return (Object)obj;*/
            }
        }
        return value;
    }
Retrieves the value of the designated column in this
<code>CachedRowSetImpl</code> object as an <code>Object</code> in
the Java programming language, using the given
<code>java.util.Map</code> object to custom map the value if
appropriate.

@param columnIndex the first column is <code>1</code>, the second
       is <code>2</code>, and so on; must be <code>1</code> or larger
       and equal to or less than the number of columns in this rowset
@param map a <code>java.util.Map</code> object showing the mapping
           from SQL type names to classes in the Java programming
           language
@return an <code>Object</code> representing the SQL value
@throws SQLException if the given column index is out of bounds or
           the cursor is not on one of this rowset's rows or its
           insert row
src/main/java/org/replicadb/rowset/sun/rowset/CachedRowSetImpl.java