opendap/src/main/java/opendap/dap/DSequence.java
public BaseType getVariable(String name) throws NoSuchVariableException {

        int dotIndex = name.indexOf('.');

        if (dotIndex != -1) {  // name contains "."
            String aggregate = name.substring(0, dotIndex);
            String field = name.substring(dotIndex + 1);

            BaseType aggRef = getVariable(aggregate);
            if (aggRef instanceof DConstructor)
                return ((DConstructor) aggRef).getVariable(field);  // recurse
            else
                ; // fall through to throw statement
        } else {
            for (Enumeration e = varTemplate.elements(); e.hasMoreElements();) {
                BaseType v = (BaseType) e.nextElement();
                if (v.getEncodedName().equals(name))
                    return v;
            }
        }
        throw new NoSuchVariableException("DSequence: getVariable()");
    }
public BaseType getVariable(String name) throws NoSuchVariableException {

        int dotIndex = name.indexOf('.');

        if (dotIndex != -1) {  // name contains "."
            String aggregate = name.substring(0, dotIndex);
            String field = name.substring(dotIndex + 1);

            BaseType aggRef = getVariable(aggregate);
            if (aggRef instanceof DConstructor)
                return ((DConstructor) aggRef).getVariable(field);  // recurse
            else
                ; // fall through to throw statement
        } else {
            for (Enumeration e = varTemplate.elements(); e.hasMoreElements();) {
                BaseType v = (BaseType) e.nextElement();
                if (v.getEncodedName().equals(name))
                    return v;
            }
        }
        throw new NoSuchVariableException("DSequence: getVariable()");
    }
public BaseType getVariable ( String name ) throws NoSuchVariableException { int dotIndex = name . indexOf ( ' ' ) ; if ( dotIndex != - 1 ) { // name contains "."
 String aggregate = name . substring ( 0 , dotIndex ) ; String field = name . substring ( dotIndex + 1 ) ; BaseType aggRef = getVariable ( aggregate ) ; if ( aggRef instanceof DConstructor ) return ( ( DConstructor ) aggRef ) . getVariable ( field ) ; // recurse
 else ; // fall through to throw statement
 } else { for ( Enumeration e = varTemplate . elements ( ) ; e . hasMoreElements ( ) ; ) { BaseType v = ( BaseType ) e . nextElement ( ) ; if ( v . getEncodedName ( ) . equals ( name ) ) return v ; } } throw new NoSuchVariableException ( "DSequence: getVariable()" ) ; }
Returns the named variable.  <b>Note:</b> In <code>DSequence</code>,
this method returns the template variable, which holds no data.  If you
need to get a variable containing data, use <code>getRow</code> or the
<code>getVariable</code> method which takes a row number parameter.

@param name the name of the variable.
@return the named variable.
@throws NoSuchVariableException if the named variable does not
exist in this container.
@see DSequence#getVariable(int, String)
Returns the named variable . <b > Note : < / b > In <code > DSequence< / code > this method returns the template variable which holds no data . If you need to get a variable containing data use <code > getRow< / code > or the <code > getVariable< / code > method which takes a row number parameter .