private void checkConstruction(
NameOrPseudonym id,
string pseudonym,
DirectoryString surname,
Asn1Sequence givenName)
{
checkValues(id, pseudonym, surname, givenName);
id = NameOrPseudonym.GetInstance(id);
checkValues(id, pseudonym, surname, givenName);
Asn1InputStream aIn = new Asn1InputStream(id.ToAsn1Object().GetEncoded());
if (surname != null)
{
Asn1Sequence seq = (Asn1Sequence) aIn.ReadObject();
id = NameOrPseudonym.GetInstance(seq);
}
else
{
IAsn1String s = (IAsn1String) aIn.ReadObject();
id = NameOrPseudonym.GetInstance(s);
}
checkValues(id, pseudonym, surname, givenName);
}