public Asn1Object ToAsn1Object()
{
if (_indefiniteLength)
{
Asn1EncodableVector v = rLoadVector(_contentStream);
return v.Count == 1
? new BerTaggedObject(true, _tagNumber, v[0])
: new BerTaggedObject(false, _tagNumber, BerSequence.FromVector(v));
}
if (IsConstructed)
{
Asn1EncodableVector v = rLoadVector(_contentStream);
return v.Count == 1
? new DerTaggedObject(true, _tagNumber, v[0])
: new DerTaggedObject(false, _tagNumber, DerSequence.FromVector(v));
}
try
{
DefiniteLengthInputStream defIn = (DefiniteLengthInputStream) _contentStream;
return new DerTaggedObject(false, _tagNumber, new DerOctetString(defIn.ToArray()));
}
catch (IOException e)
{
throw new InvalidOperationException(e.Message, e);
}
}
}