protected void encode(OutputStream out,ObjectIdentifier extensionId,boolean isCritical) throws IOException {
  DerOutputStream tmp=new DerOutputStream();
  if (this.extensionValue == null) {
    this.extensionId=extensionId;
    this.critical=isCritical;
    encodeThis();
  }
  super.encode(tmp);
  out.write(tmp.toByteArray());
}

protected void encode ( OutputStream out , ObjectIdentifier extensionId , boolean isCritical ) throws IOException { DerOutputStream tmp = new DerOutputStream ( ) ; if ( this . extensionValue == null ) { this . extensionId = extensionId ; this . critical = isCritical ; encodeThis ( ) ; } super . encode ( tmp ) ; out . write ( tmp . toByteArray ( ) ) ; }
write the extension to the deroutputstream . ( also called by the subclass )
