code: void encode(
          DEROutputStream out)
          throws IOException
      {
          ByteArrayOutputStream   bOut = new ByteArrayOutputStream();
          DEROutputStream         dOut = new DEROutputStream(bOut);
          Enumeration             e = this.getObjects();
  
          while (e.hasMoreElements())
          {
              Object    obj = e.nextElement();
  
              dOut.writeObject(obj);
          }
  
          dOut.close();
  
          byte[]  bytes = bOut.toByteArray();
  
          out.writeEncoded(SET | CONSTRUCTED, bytes);
      }
docs: /*
  A note on the implementation:
  <p>
  As DER requires the constructed, definite-length model to
  be used for structured types, this varies slightly from the
  ASN.1 descriptions given. Rather than just outputing SET,
  we also have to specify CONSTRUCTED, and the objects length.