@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); }