question: private void buildBranch ( TreeNode parent , String [ ] values , int lvl ) { if ( lvl == values . length ) { parent . children = null ; return ; } if ( lvl > ( m_Depth - 1 ) ) { m_Depth = lvl + 1 ; } Vector < TreeNode > kids = parent . children ; int index = search ( kids , values [ lvl ] ) ; if ( index != - 1 ) { TreeNode newParent = kids . elementAt ( index ) ; if ( newParent . children == null ) { newParent . children = new Vector < TreeNode > ( ) ; } buildBranch ( newParent , values , lvl + 1 ) ; } else { TreeNode added = new TreeNode ( ) ; added . parent = parent ; added . value = values [ lvl ] ; added . children = new Vector < TreeNode > ( ) ; added . level = lvl ; if ( parent != m_Root ) { added . context = parent . context + m_Seperator + parent . value ; } else { added . context = parent . value ; } kids . addElement ( added ) ; buildBranch ( added , values , lvl + 1 ) ; } }
target:  Private function to build one branch of the tree based on one property