synchronized(attribHash) { String attrib; if ( (attrib=getEncoding()) !=null) writeOut(outputstream, " encoding=" + attrib); if ( (attrib=getEndian()) !=null) writeOut(outputstream, " endian=" + attrib); if ( (attrib=getReadId()) !=null) writeOut(outputstream, " readId=" + attrib); if ( (attrib=getReadIdRef()) !=null) writeOut(outputstream, " readIdRef=" + attrib);
  public void toXDFOutputStream ( OutputStream outputstream,                                  Hashtable XMLDeclAttribs,                                  String indent                                )  {    boolean niceOutput = sPrettyXDFOutput;    String myIndent;    if (indent!=null)      myIndent = indent;    else      myIndent = "";    String moreIndent = myIndent + sPrettyXDFOutputIndentation;    if (niceOutput)      writeOut(outputstream, myIndent);    //open the read block    writeOut(outputstream, "<read");    //get attribute info     Hashtable xmlInfo = getXMLInfo();    //write out attributes    ArrayList attribs = (ArrayList) xmlInfo.get("attribList");    synchronized(attribs) {  //sync, prevent the attribs' structure be changed      int stop = attribs.size();      for (int i = 0; i < stop; i++) {        Hashtable item = (Hashtable) attribs.get(i);        writeOut(outputstream, " "+ item.get("name") + "=\"" + item.get("value") + "\"");      }    }    writeOut(outputstream, ">");    //specific tailoring for childObj: Tagged, Delimited, Formated    specificIOStyleToXDF(outputstream, moreIndent);     //close the read block    if (niceOutput) {      writeOut(outputstream, Constants.NEW_LINE);      writeOut(outputstream, indent);    }     writeOut(outputstream, "</read>");    if (niceOutput) {      writeOut(outputstream,Constants.NEW_LINE);     }  }