public function add( IdStack $idPath, $record )  {
		$definedMeaningId = $idPath->getKeyStack()->peek( 0 )->definedMeaningId;
		$alternativeDefinition = $record->alternativeDefinition;
		$sourceId = $record->source;

		if ( $this->filterLanguageId == 0 ) {
			if ( $alternativeDefinition->getRecordCount() > 0 ) {
				$definitionRecord = $alternativeDefinition->getRecord( 0 );
	
				$languageId = $definitionRecord->language;
				$text = $definitionRecord->text;
	
				if ( $languageId != 0 && $text != '' ) {
					addDefinedMeaningAlternativeDefinition( $definedMeaningId, $languageId, $text, $sourceId );
				}
			}
		}
		elseif ( $alternativeDefinition != '' ) {
			addDefinedMeaningAlternativeDefinition( $definedMeaningId, $this->filterLanguageId, $alternativeDefinition, $sourceId );
		}
	}
function importUMLSDefinitions( $sab, $umlsCollectionId, $sourceCollectionId, $languageId ) {
	global
		$db;
	
	$queryResult = mysql_query( "select def, cui from MRDEF where sab = '$sab'", $db );
	$progressBar = new ProgressBar( mysql_num_rows( $queryResult ), 100 );

	$collectionMeaningId = getCollectionMeaningId( $sourceCollectionId );

	while ( $definition = mysql_fetch_object( $queryResult ) ) {
		$definedMeaningId = getDefinedMeaningFromCollection( $umlsCollectionId, $definition->cui );
		
		if ( $definedMeaningId ) {
			if ( !getDefinedMeaningDefinitionId( $definedMeaningId ) )
				addDefinedMeaningDefiningDefinition( $definedMeaningId, $languageId, $definition->def );

			addDefinedMeaningAlternativeDefinition( $definedMeaningId, $languageId, $definition->def, $collectionMeaningId );
		}
		
		$progressBar->advance( 1 );
	}
	
	mysql_free_result( $queryResult );
	$progressBar->clear();
}