public List < SiteNode > getTopNodesInScopeFromSiteTree ( ) { List < SiteNode > nodes = new LinkedList <> ( ) ; SiteNode rootNode = getSiteTree ( ) . getRoot ( ) ; @ SuppressWarnings ( "unchecked" ) Enumeration < TreeNode > en = rootNode . children ( ) ; while ( en . hasMoreElements ( ) ) { SiteNode sn = ( SiteNode ) en . nextElement ( ) ; if ( isContainsNodesInScope ( sn ) ) { nodes . add ( sn ) ; } } return nodes ; }
Gets the top nodes from the site tree which contain nodes that are In Scope . Searches recursively starting from the root node . Should be used with care as it is time - consuming querying the database for every node in the Site Tree .