opendap/src/main/java/ucar/nc2/dods/DodsV.java
DodsV findDataV(DodsV ddsV) {
    if (ddsV.parent.bt != null) {
      DodsV parentV = findDataV(ddsV.parent);
      if (parentV == null) // dataDDS may not have the structure wrapper
        return findDodsV(ddsV.bt.getEncodedName(), true);
      return parentV.findDodsV(ddsV.bt.getEncodedName(), true);
    }

    DodsV dataV = findDodsV(ddsV.bt.getEncodedName(), true);
    /* if ((dataV == null) && (ddsV.bt instanceof DGrid)) { // when asking for the Grid array
      DodsV gridArray = (DodsV) ddsV.children.get(0);
      return findDodsV( gridArray.bt.getName(), dataVlist, true);
    } */
    return dataV;
  }
DodsV findDataV(DodsV ddsV) {
    if (ddsV.parent.bt != null) {
      DodsV parentV = findDataV(ddsV.parent);
      if (parentV == null) // dataDDS may not have the structure wrapper
        return findDodsV(ddsV.bt.getEncodedName(), true);
      return parentV.findDodsV(ddsV.bt.getEncodedName(), true);
    }

    DodsV dataV = findDodsV(ddsV.bt.getEncodedName(), true);
    /* if ((dataV == null) && (ddsV.bt instanceof DGrid)) { // when asking for the Grid array
      DodsV gridArray = (DodsV) ddsV.children.get(0);
      return findDodsV( gridArray.bt.getName(), dataVlist, true);
    } */
    return dataV;
  }
find the DodsV object in the dataVlist corresponding to the ddsV