public static InfoTypeAndValue GetInstance(object obj)
{
if (obj is InfoTypeAndValue)
return (InfoTypeAndValue)obj;
if (obj is Asn1Sequence)
return new InfoTypeAndValue((Asn1Sequence)obj);
throw new ArgumentException("Invalid object: " + obj.GetType().Name, "obj");
}