public void deParse(AlterTable alterTable) {
        buffer.append("ALTER TABLE ");
        buffer.append(alterTable.getTable().getWholeTableName());
        boolean first = true;
        for (AlterOperation alterOperation : alterTable.getAlterOperations()) {
            if (!first) {
                buffer.append(", ");
            } else {
                first = false;
            }
            buffer.append("\n    ");
            switch (alterOperation.getType()) {
            case CHANGE:
                ChangeColumn changeColumn = (ChangeColumn)alterOperation;
                ColumnDefinition columnDefinition = changeColumn.getColumnDefinition();
                buffer.append("CHANGE ");
                buffer.append(changeColumn.getColumnOld());
                buffer.append(" ");
                buffer.append(columnDefinition.getColDataType().getDataType());
                if (columnDefinition.getColDataType().getArgumentsStringList() != null) {
                    for (Iterator iterator = columnDefinition.getColDataType().getArgumentsStringList().iterator(); iterator.hasNext();) {
                        buffer.append(" ");
                        buffer.append((String) iterator.next());
                    }
                }
                if (columnDefinition.getColumnSpecStrings() != null) {
                    for (Iterator iterator = columnDefinition.getColumnSpecStrings().iterator(); iterator.hasNext();) {
                        buffer.append(" ");
                        buffer.append((String) iterator.next());
                    }
                }
            }
        }
    }