}
protected void parse(byte[] token) throws IOException {
ByteArrayInputStream tokenStream = new ByteArrayInputStream(token);
DERInputStream der = new DERInputStream(tokenStream);
DERUnknownTag constructed = (DERUnknownTag) der.readObject();
if (constructed.getTag() !=
(DERTags.CONSTRUCTED | DERTags.APPLICATION)) {
throw new IOException("Malformed NegTokenInit.");
}
tokenStream = new ByteArrayInputStream(constructed.getData());
der = new DERInputStream(tokenStream);
DERObjectIdentifier spnego = (DERObjectIdentifier) der.readObject();
ASN1TaggedObject tagged = (ASN1TaggedObject) der.readObject();
ASN1Sequence sequence = ASN1Sequence.getInstance(tagged, true);
Enumeration fields = sequence.getObjects();