if (explicit)
if (obj == null || obj instanceof ASN1Sequence)
    public static ASN1Sequence getInstance(        ASN1TaggedObject    obj,        boolean             explicit)    {        if (explicit)        {            if (!obj.isExplicit())            {                throw new IllegalArgumentException("object implicit - explicit expected.");            }            return (ASN1Sequence)obj.getObject();        }        else        {            //            // constructed object which appears to be explicitly tagged            // when it should be implicit means we have to add the            // surrounding sequence.            //            if (obj.isExplicit())            {                if (obj instanceof BERTaggedObject)                {                    return new BERSequence(obj.getObject());                }                else                {                    return new DERSequence(obj.getObject());                }            }            else            {                if (obj.getObject() instanceof ASN1Sequence)                {                    return (ASN1Sequence)obj.getObject();                }            }        }        throw new IllegalArgumentException(                "unknown object in getInstanceFromTagged");    }