public override int ReadByte()
{
if (_first)
{
Asn1OctetString s = (Asn1OctetString)_parser.ReadObject();
if (s == null)
{
return(-1);
}
_first = false;
_currentStream = s.GetOctetStream();
}
else if (_currentStream == null)
{
return(-1);
}
int b = _currentStream.ReadByte();
if (b >= 0)
{
return(b);
}
Asn1OctetString aos = (Asn1OctetString)_parser.ReadObject();
if (aos == null)
{
_currentStream = null;
return(-1);
}
_currentStream = aos.GetOctetStream();
return(_currentStream.ReadByte());
}