private boolean isContained(TreeNode parent,String[] values,int lvl){
  if (lvl == values.length) {
    return true;
  }
 else   if (lvl > values.length) {
    return false;
  }
 else {
    Vector<TreeNode> kids=parent.children;
    int index=search(kids,values[lvl]);
    if (index != -1) {
      TreeNode newParent=kids.elementAt(index);
      return isContained(newParent,values,lvl + 1);
    }
 else {
      return false;
    }
  }
}

private boolean isContained ( TreeNode parent , String [ ] values , int lvl ) { if ( lvl == values . length ) { return true ; } else if ( lvl > values . length ) { return false ; } else { Vector < TreeNode > kids = parent . children ; int index = search ( kids , values [ lvl ] ) ; if ( index != - 1 ) { TreeNode newParent = kids . elementAt ( index ) ; return isContained ( newParent , values , lvl + 1 ) ; } else { return false ; } } }
private function to decide whether one level of one branch contains the relevant values
