private void writeSchemaSegment(ObjectOutputStream out, SymbolScopeRoot rootScope) throws IOException { ArrayList allSymbols = rootScope.getAllSymbols();
private void writeSchemaSegment(ObjectOutputStream out, List allSymbols) throws IOException {
	private void writeSchemaSegment(ObjectOutputStream out, SymbolScopeRoot rootScope) throws IOException {		ArrayList allSymbols = rootScope.getAllSymbols();		for (Iterator it = allSymbols.iterator(); it.hasNext();) {			Object obj = it.next();			if (obj instanceof TableBuffer) {				Table table = ((TableBuffer)obj).getTable();				if (table.getStoretype() != IConstants.ST_DBTABLE) continue;				writeSchema_addTable(table);				continue;			}			if (obj instanceof FieldBuffer) {				Field field = ((FieldBuffer)obj).getField();				Table table = field.getTable();				if (table.getStoretype() != IConstants.ST_DBTABLE) continue;				TableRef tableRef = writeSchema_addTable(table);				tableRef.fieldMap.put(field.getName().toLowerCase(), field.getName());			}		}		for (Iterator it = tableMap.values().iterator(); it.hasNext();) {			TableRef tableRef = (TableRef) it.next();			out.writeUTF(tableRef.name);			for (Iterator it2 = tableRef.fieldMap.values().iterator(); it2.hasNext();) {				String fieldName = (String) it2.next();				out.writeUTF(fieldName);			}			out.writeUTF(""); // terminate the list of fields in the table		}		out.writeUTF(""); // terminate the schema segment	}