String tableName = Utilities.getColumn(type).getTableName();
String tableName = type.getColumn().getTableName();
    public Collection generateTable(ObjectType type,                                    Column keyColumn,                                    Collection properties,                                    Map defaultValueMap) {        StringBuffer ddl = new StringBuffer();        List statements = new ArrayList();        String tableName = Utilities.getColumn(type).getTableName();        if (keyColumn != null) {            ddl.append(keyColumn.getColumnName());            if (type.getSupertype() != null) {                Column superKey = Utilities.getColumn(type.getSupertype());                ddl.append(" ")                    .append(getTypeDeclaration(superKey.getType(),                                               superKey.getSize()))                    .append(" primary key references ")                    .append(superKey.getTableName())                    .append("(")                    .append(superKey.getColumnName())                    .append(")");            } else {                ddl.append(" integer primary key");            }            statements.add(ddl.toString());        }        if (properties != null) {            Iterator props = properties.iterator();            while (props.hasNext()) {                Property prop = (Property)props.next();                // collections are handled by mapping tables later                if (!prop.isCollection()) {                    Object defaultValue = null;                    if (defaultValueMap != null) {                        defaultValue = defaultValueMap.get(prop.getName());                    }                    statements.add(generateColumnToAdd(prop, defaultValue));                }            }        }        ddl = new StringBuffer();        if (tableExists(tableName)) {            ddl.append("alter table ").append(tableName).append(" add (\n");        } else {            ddl.append("create table ").append(tableName).append(" (\n");        }        if (statements.size() == 0) {            return null;        }        ddl.append(StringUtils.join(statements, ",\n"))            .append(")\n");        ArrayList listToReturn = new ArrayList();        listToReturn.add(ddl.toString());        return listToReturn;    }