@Override
	public void itemStateChanged(ItemEvent e) {
		if (e.getSource() == srcHost) {
			Host host = (Host) e.getItem();
			srcDatabase.removeAllItems();
			srcCollection.removeAllItems();
			for (Database database : host.getDatabases()) {
				srcDatabase.addItem(database);
			}
		}
		if (e.getSource() == srcDatabase) {
			Database database = (Database) e.getItem();
			srcCollection.removeAllItems();
			for (Collection collection : database.getCollections()) {
				srcCollection.addItem(collection);
			}
		}
		if (e.getSource() == tgtHost) {
			Host host = (Host) e.getItem();
			tgtDatabase.removeAllItems();
			tgtCollection.removeAllItems();
			for (Database database : host.getDatabases()) {
				tgtDatabase.addItem(database);
			}
		}
		if (e.getSource() == tgtDatabase) {
			Database database = (Database) e.getItem();
			tgtCollection.removeAllItems();
			for (Collection collection : database.getCollections()) {
				tgtCollection.addItem(collection);
			}
		}
	}