code: public void write(OutputStream out) throws IOException {
          DataOutputStream dos = new DataOutputStream(out);
          // Write out the main attributes for the manifest
          attr.writeMain(dos);
          // Now write out the pre-entry attributes
          Iterator<Map.Entry<String, Attributes>> it = entries.entrySet().iterator();
          while (it.hasNext()) {
              Map.Entry<String, Attributes> e = it.next();
              StringBuffer buffer = new StringBuffer("Name: ");
              String value = e.getKey();
              if (value != null) {
                  byte[] vb = value.getBytes("UTF8");
                  value = new String(vb, 0, 0, vb.length);
              }
              buffer.append(value);
              buffer.append("\r\n");
              make72Safe(buffer);
              dos.writeBytes(buffer.toString());
              e.getValue().write(dos);
          }
          dos.flush();
      }
docs: Writes the Manifest to the specified OutputStream.
  Attributes.Name.MANIFEST_VERSION must be set in
  MainAttributes prior to invoking this method.
  
  @param out the output stream
  @exception IOException if an I/O error has occurred
  @see #getMainAttributes