Quintiq file version 2.0 
 | 
#parent: #root 
 | 
Method GetBookmarksByNameIncludeParent ( 
 | 
  String name_fragment 
 | 
) remote as owning Bookmarks 
 | 
{ 
 | 
  Description: 'Return a series of keys for bookmarks instance have name matched with the given string including parent' 
 | 
  TextBody: 
 | 
  [* 
 | 
    bookmarks := construct( Bookmarks ); 
 | 
     
 | 
    if( name_fragment <> '' ) 
 | 
    { 
 | 
      name_fragment := name_fragment.ToLower(); 
 | 
       
 | 
      traverse( this, Bookmark, bookmark, bookmark.Name().ToLower().FindString( name_fragment, 0 ) > -1 ) 
 | 
      { 
 | 
        bookmarks.Add( bookmark ); 
 | 
         
 | 
        allParents := bookmark.GetAllParent(); 
 | 
        bookmarks := bookmarks.Union( allParents ); 
 | 
      }                                       
 | 
    } 
 | 
     
 | 
    return &bookmarks; 
 | 
  *] 
 | 
} 
 |