protected void getMatchingNames( String part, List found ) 
	{
		// check our table
		for( int i=0; i< size(); i++ ) {
			String name = (String)get(i);
			if ( name.startsWith( part ) )
				found.add( name );
		}

		// Check other tables.
		/** Unimplemented - need a collection here */
		if ( table != null )
			table.getMatchingNames( part, found );
	
		// Check other sources
		// note should add caching in source adapters
		if ( sources != null )
			for( int i=0; i< sources.size(); i++ ) 
			{
				NameSource src = (NameSource)sources.get(i);
				String [] names = src.getAllNames();
				for( int j=0; j< names.length; j++ )
					if ( names[j].startsWith( part ) )
						found.add( names[j] );
				
			}
	}