This abstract class represents ASN.1 Choice type.
To implement custom ASN.1 choice type an application class
must provide implementation for the following methods:
getIndex()
getObjectToEncode()
There are two ways to implement custom ASN.1 choice type:
with application class that represents ASN.1 custom choice type or without.