private int ValidateIdentifierAndLength(EmberId innerIdentifier, long innerIdentifierPosition)
{
if (innerIdentifier.IsConstructed)
{
throw CreateEmberException(
"Unexpected constructed encoding at position {0}.", innerIdentifierPosition);
}
innerIdentifier.Ignore();
var length = this.ContentsLength;
if (!length.HasValue)
{
throw CreateEmberException(
"Unexpected indefinite length for primitive data value at position {0}.",
innerIdentifierPosition);
}
this.CanReadContents = true;
return length.Value;
}