}
public SqlJetIndexDef(CommonTree ast, int page) {
super(null, null, page);
CommonTree optionsNode = (CommonTree) ast.getChild(0);
unique = hasOption(optionsNode, "unique");
ifNotExists = hasOption(optionsNode, "exists");
CommonTree nameNode = (CommonTree) ast.getChild(1);
setName(nameNode.getText());
databaseName = nameNode.getChildCount() > 0 ? nameNode.getChild(0).getText() : null;
CommonTree tableNameNode = (CommonTree) ast.getChild(2);
setTableName(tableNameNode.getText());
List<ISqlJetIndexedColumn> columns = new ArrayList<ISqlJetIndexedColumn>();
CommonTree defNode = (CommonTree) ast.getChild(3);
for (int i = 0; i < defNode.getChildCount(); i++) {
columns.add(new SqlJetIndexedColumn((CommonTree) defNode.getChild(i)));
}
this.columns = Collections.unmodifiableList(columns);
}