/// <summary>
/// Decodes the value of the current TLV as an OBJECT IDENTIFIER represented
/// as an integer array, each integer containing one sub-identifier.
/// Throws an exception in case of a format mismatch.
/// </summary>
/// <returns>Integer array containing the OBJECT IDENTIFIER value of the current TLV.</returns>
public int[] GetObjectIdentifier()
{
if (IsContainer || Length == 0 || Value == null)
{
ThrowError(209, "Invalid ObjectIdentifier encoding");
}
Debug.Assert(Value != null || Length == 0);
Debug.Assert(Type == BerType.ObjectIdentifier || BerType.IsApplicationDefined(Type));
var input = new BerMemoryInput(Value);
return(BerEncoding.DecodeObjectIdentifier(input, Length));
}