- for ( ; !isReferred && anIter->More(); anIter->Next() ) {
- if ( anIter->Value()->ReferencedObject( aReferenceSO ) &&
- strcmp( aReferenceSO->GetID(), aToObjSO->GetID() ) == 0 )
- isReferred = true;
- }
- if ( !isReferred ) {
- aReferenceSO = aStudyBuilder->NewObject( theSObject );
- aStudyBuilder->Addreference( aReferenceSO, aToObjSO );
+ for ( ; !isReferred && anIter->More(); anIter->Next(), ++tag ) {
+ if ( anIter->Value()->ReferencedObject( aReferenceSO )) {
+ if ( strcmp( aReferenceSO->GetID(), aToObjSO->GetID() ) == 0 )
+ isReferred = true;
+ }
+ else if ( !theTag ) {
+ SALOMEDS::GenericAttribute_var anAttr;
+ if ( !anIter->Value()->FindAttribute( anAttr, "AttributeIOR" ))
+ theTag = tag;
+ }