code: protected void decodeOptionalBody(ISUPParameterFactory parameterFactory, byte[] parameterBody, byte parameterCode)
              throws ParameterException {
          switch (parameterCode & 0xFF) {
  
              case CallingPartyCategory._PARAMETER_CODE:
                  CallingPartyCategory RS = parameterFactory.createCallingPartyCategory();
                  ((AbstractISUPParameter) RS).decode(parameterBody);
                  this.setCallingPartyCategory(RS);
                  break;
              case CallingPartyNumber._PARAMETER_CODE:
                  CallingPartyNumber x = parameterFactory.createCallingPartyNumber();
                  ((AbstractISUPParameter) x).decode(parameterBody);
                  this.setCallingPartyNumber(x);
                  break;
              case CallReference._PARAMETER_CODE:
                  CallReference cf = parameterFactory.createCallReference();
                  ((AbstractISUPParameter) cf).decode(parameterBody);
                  this.setCallReference(cf);
                  break;
              case ConnectionRequest._PARAMETER_CODE:
                  ConnectionRequest z = parameterFactory.createConnectionRequest();
                  ((AbstractISUPParameter) z).decode(parameterBody);
                  this.setConnectionRequest(z);
                  break;
              case ParameterCompatibilityInformation._PARAMETER_CODE:
                  ParameterCompatibilityInformation cc = parameterFactory.createParameterCompatibilityInformation();
                  ((AbstractISUPParameter) cc).decode(parameterBody);
                  this.setParameterCompatibilityInformation(cc);
                  break;
              case NetworkSpecificFacility._PARAMETER_CODE:
                  NetworkSpecificFacility v = parameterFactory.createNetworkSpecificFacility();
                  ((AbstractISUPParameter) v).decode(parameterBody);
                  this.setNetworkSpecificFacility(v);
                  break;
  
              default:
                  throw new ParameterException("Unrecognized parameter code for optional part: " + parameterCode);
          }
      }
docs: /*
  (non-Javadoc)
  
  @see org.restcomm.protocols.ss7.isup.ISUPMessageImpl#decodeOptionalBody(byte [], byte)