opendap/src/main/java/opendap/servers/CEEvaluator.java
public void send(String dataset, OutputStream sink, Object specialO)
            throws NoSuchVariableException, DAP2ServerSideException, IOException {

        Enumeration e = _dds.getVariables();
        while (e.hasMoreElements()) {

            ServerMethods s = (ServerMethods) e.nextElement();

            if (_Debug)
                System.out.println("Sending variable: " +
                        ((BaseType) s).getEncodedName());

            if (s.isProject()) {

                if (_Debug)
                    System.out.println("Calling "
                            + ((BaseType) s).getTypeName()
                            + ".serialize() (Name: "
                            + ((BaseType) s).getEncodedName()
                            + ")");

              //System.out.printf("serialize %s (%s) start=%d%n ", ((BaseType) s).getName(), ((BaseType) s).getTypeName(),
              //    ((DataOutputStream) sink).size());

                s.serialize(dataset, (DataOutputStream) sink, this, specialO);
            }
        }
      //System.out.printf("serialize total size=%d%n ", ((DataOutputStream) sink).size());

    }
public void send(String dataset, OutputStream sink, Object specialO)
            throws NoSuchVariableException, DAP2ServerSideException, IOException {

        Enumeration e = _dds.getVariables();
        while (e.hasMoreElements()) {

            ServerMethods s = (ServerMethods) e.nextElement();

            if (_Debug)
                System.out.println("Sending variable: " +
                        ((BaseType) s).getEncodedName());

            if (s.isProject()) {

                if (_Debug)
                    System.out.println("Calling "
                            + ((BaseType) s).getTypeName()
                            + ".serialize() (Name: "
                            + ((BaseType) s).getEncodedName()
                            + ")");

              //System.out.printf("serialize %s (%s) start=%d%n ", ((BaseType) s).getName(), ((BaseType) s).getTypeName(),
              //    ((DataOutputStream) sink).size());

                s.serialize(dataset, (DataOutputStream) sink, this, specialO);
            }
        }
      //System.out.printf("serialize total size=%d%n ", ((DataOutputStream) sink).size());

    }
This function sends the variables described in the constrained DDS to
the output described by <code>sink</code>. This function calls
<code>parse_constraint()</code>, <code>BaseType::read()</code>, and
<code>ServerIO::serialize()</code>.

@param dataset  The name of the dataset to send.
@param sink     A pointer to the output buffer for the data.
@param specialO An <code>Object</code> passed by the server. This is typically used by server implementations
to deliver needed functionaliy or information to the read methods of each <code>BaseType</code>.
@see #parseConstraint
@see ServerMethods#serialize(String, DataOutputStream,
CEEvaluator, Object) ServerMethods.serialize()