docs: public synchronized SIDestinationAddress getSIDestinationAddress(short fapLevel)
     {
        if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled()) SibTr.entry(this, tc, "getSIDestinationAddress", Short.valueOf(fapLevel)); //469395
  
        checkReleased();
  
        boolean isFromMediation = false;
  
        /**************************************************************/
        /* Uuid                                                       */
        /**************************************************************/
        short uuidLength = getShort();                            // BIT16 Uuid Length
        if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled()) SibTr.debug(tc, "Uuid length:", ""+uuidLength);
        SIBUuid8 uuid = null;
        // Note: In all other cases, a length of -1 would normally indicate a null value.
        //       However, in this case we use a length 0 to inidicate a null value, mainly
        //       because the uuid can not be 0 in length, and using 0 makes the code neater.
        if (uuidLength != 0)
        {
           if (uuidLength == 1)
           {
              byte addressFlags = get();
              if (addressFlags == CommsConstants.DESTADDR_ISFROMMEDIATION)
              {
                 isFromMediation = true;
              }
           }
           else
           {
              byte[] uuidBytes = get(uuidLength);                 // BYTE[] Uuid
              uuid = new SIBUuid8(uuidBytes);
              if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled()) SibTr.debug(tc, "Uuid:", uuid);
           }
        }
        else
        {
           if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled()) SibTr.debug(tc, "Uuid was null");
        }
  
        /**************************************************************/
        /* Destination                                                */
        /**************************************************************/
        String destinationName = getString();
        if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled()) SibTr.debug(tc, "Destination name:", destinationName);
  
        /**************************************************************/
        /* Bus name                                                   */
        /**************************************************************/
        String busName = getString();
        if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled()) SibTr.debug(tc, "Bus name:", busName);
  
  
        /**************************************************************/
        /* Local only                                                 */
        /**************************************************************/
        //Only read from buffer if fap 9 or greater
        //Default value if not flown is false for backwards compatibility.
        boolean localOnly = false;
  
        if(fapLevel >= JFapChannelConstants.FAP_VERSION_9)
        {
           final byte localOnlyByte = get();
           localOnly = (localOnlyByte == CommsConstants.TRUE_BYTE);
        }
  
        if(TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled()) SibTr.debug(this, tc, "localOnly: ", localOnly);
  
        // If we get a null UUID, a null name and a null bus name, return null
        JsDestinationAddress destAddress = null;
        if (uuid == null && destinationName == null && busName == null)
        {
           if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled()) SibTr.debug(tc, "Both UUID, destination name and bus name were null");
        }
        else
        {
      	  //lohith liberty change
     /*      if (isFromMediation)
           {
              destAddress =
                 ((JsDestinationAddressFactory) JsDestinationAddressFactory.getInstance()).
                                               createJsMediationdestinationAddress(destinationName);
           }
           else*/
           {
              destAddress =
                 ((JsDestinationAddressFactory) JsDestinationAddressFactory.getInstance()).
                                                     createJsDestinationAddress(destinationName,
                                                                                localOnly,
                                                                                uuid,
                                                                                busName);
           }
        }
  
        if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled()) SibTr.exit(this, tc, "getSIDestinationAddress",destAddress); //469395
        return destAddress;
     }