@Override
 protected Object getDecodedObject(BerInputStream in) {
   Object[] values = (Object[]) in.content;
   int maximum = -1; // is optional maximum missing?
   if (values[2] != null) {
     maximum = ASN1Integer.toIntValue(values[2]); // no!
   }
   return new GeneralSubtree(
       (GeneralName) values[0], ASN1Integer.toIntValue(values[1]), maximum);
 }