public String read_atom()
{
int tag;
int len;
byte[] strbuf;
String atom;
tag = read1skip_version();
if (tag != OtpExternal.atomTag)
{
throw new OtpErlangDecodeException("wrong tag encountered, expected " + OtpExternal.atomTag + ", got " + tag);
}
len = read2BE();
strbuf = new byte[len];
this.readN(strbuf);
atom = OtpErlangString.newString(strbuf);
if (atom.Length > OtpExternal.maxAtomLength)
{
atom = atom.Substring(0, OtpExternal.maxAtomLength);
}
return atom;
}