code: private IVarDef getDescendant( String[] path)
      {
      int       pathLength        = path == null? 0 : path.length;
      int       parentPathLength  = pathLength - 1;
  
      int       i;
      VarSet    parent;
      IVarDef   descendant;
      for( i = 0,
             parent = this,
             descendant = null;
  
           i < parentPathLength
             && (descendant = parent.getMember( StringUtils.trimToNull( path[i]))) != null
             && descendant.getClass().equals( getClass());
  
           i++,
             parent = (VarSet) descendant);
  
      return
        i == parentPathLength
        ? parent.getMember( StringUtils.trimToNull( path[i]))
        : null;
      }
docs: Returns the descendant variable with the given path, relative to this set.