opendap/src/main/java/opendap/dap/DConnect2.java
public DDS getDDS(String CE) throws IOException, ParseException, DAP2Exception
    {
        DDSCommand command = new DDSCommand();
        command.setURL(CE == null || CE.length() == 0 ? urlString : urlString + "?" + CE);
        if(filePath != null) {
            try (FileInputStream is = new FileInputStream(filePath + ".dds")) {
                command.process(is);
            }
        } else if(stream != null) {
            command.process(stream);
        } else { // must be a remote url
            openConnection(urlString + ".dds" + (getCompleteCE(CE)), command);
        }
        return command.dds;
    }
public DDS getDDS(String CE) throws IOException, ParseException, DAP2Exception
    {
        DDSCommand command = new DDSCommand();
        command.setURL(CE == null || CE.length() == 0 ? urlString : urlString + "?" + CE);
        if(filePath != null) {
            try (FileInputStream is = new FileInputStream(filePath + ".dds")) {
                command.process(is);
            }
        } else if(stream != null) {
            command.process(stream);
        } else { // must be a remote url
            openConnection(urlString + ".dds" + (getCompleteCE(CE)), command);
        }
        return command.dds;
    }
Returns the DDS object from the dataset referenced by this object's URL.
The DDS object is referred to by appending `.dds' to the end of a OPeNDAP
URL.

@param CE The constraint expression to be applied to this request by the
server.  This is combined with any CE given in the constructor.
@return the DDS associated with the referenced dataset.
@throws MalformedURLException if the URL given to the constructor
has an error
@throws IOException           if an error connecting to the remote server
@throws ParseException        if the DDS parser returned an error
@throws DDSException          on an error constructing the DDS
@throws DAP2Exception         if an error returned by the remote server