AvailableDbObjects.addListener(SWT.Expand, new Listener(){
availableDbObjectsTree.addListener(SWT.Expand, new Listener(){
	private void addFetchColumnListener()	{						AvailableDbObjects.addListener(SWT.Expand, new Listener(){			public void handleEvent(Event event) {				TreeItem item = (TreeItem)event.item;				if (item == null) return;								if (isSchemaNode(item) || (item == rootNode))				{					return;				}								String tableName = (String)item.getData();									String catalogName = metaDataProvider.getCatalog();				String schemaName = null;									String schemaSeparator = ".";									if (metaDataProvider.isSchemaSupported())				{					// remove the schema name from the fully qualified name					int index = -1;					if ((index = tableName.lastIndexOf(schemaSeparator)) != -1)					{						schemaName = tableName.substring(0, index);						tableName = tableName.substring( index + 1);					}				}													ArrayList columnList = metaDataProvider.getColumns(catalogName,schemaName, tableName,null);				TreeItem[] items = item.getItems();				if ( items != null )				{					for ( int i=0; i < items.length; i++)					{						items[i].dispose();					}				}				Utility.createTreeItems(item, columnList, SWT.NONE, columnImage);			}					});			}