protected int decodeMandatoryParameters(
     ISUPParameterFactory parameterFactory, byte[] b, int index) throws ParameterException {
   int localIndex = index;
   index += super.decodeMandatoryParameters(parameterFactory, b, index);
   if (b.length - index > 1) {
     CircuitGroupSuperVisionMessageType cgsvmt =
         parameterFactory.createCircuitGroupSuperVisionMessageType();
     ((AbstractISUPParameter) cgsvmt).decode(new byte[] {b[index]});
     this.setSupervisionType(cgsvmt);
     index++;
     return index - localIndex;
   } else {
     throw new IllegalArgumentException("byte[] must have atleast one octets");
   }
 }