code: 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) {
  
              try {
                  byte[] informationInd = new byte[2];
                  informationInd[0] = b[index++];
                  informationInd[1] = b[index++];
                  InformationRequestIndicators bci = parameterFactory.createInformationRequestIndicators();
                  ((AbstractISUPParameter) bci).decode(informationInd);
                  this.setInformationRequestIndicators(bci);
              } catch (Exception e) {
                  // AIOOBE or IllegalArg
                  throw new ParameterException("Failed to parse BackwardCallIndicators due to: ", e);
              }
  
              // return 3;
              return index - localIndex;
          } else {
              throw new IllegalArgumentException("byte[] must have atleast 2 octets");
          }
  
      }
docs: /*
  (non-Javadoc)
  
  @see org.restcomm.protocols.ss7.isup.ISUPMessageImpl#decodeMandatoryParameters (byte[], int)