code: private void updateLocationRequest(Parameter parameter, MAPDialogMobilityImpl mapDialogImpl, Long invokeId)
              throws MAPParsingComponentException {
  
          long version = mapDialogImpl.getApplicationContext().getApplicationContextVersion().getVersion();
          if (parameter == null)
              throw new MAPParsingComponentException(
                      "Error while decoding updateLocationRequest: Parameter is mandatory but not found",
                      MAPParsingComponentExceptionReason.MistypedParameter);
  
          if (parameter.getTag() != Tag.SEQUENCE || parameter.getTagClass() != Tag.CLASS_UNIVERSAL || parameter.isPrimitive())
              throw new MAPParsingComponentException(
                      "Error while decoding updateLocationRequest: Bad tag or tagClass or parameter is primitive, received tag="
                              + parameter.getTag(), MAPParsingComponentExceptionReason.MistypedParameter);
  
          byte[] buf = parameter.getData();
          AsnInputStream ais = new AsnInputStream(buf);
          UpdateLocationRequestImpl ind = new UpdateLocationRequestImpl(version);
          ind.decodeData(ais, buf.length);
  
          ind.setInvokeId(invokeId);
          ind.setMAPDialog(mapDialogImpl);
  
          for (MAPServiceListener serLis : this.serviceListeners) {
              try {
                  serLis.onMAPMessage(ind);
                  ((MAPServiceMobilityListener) serLis).onUpdateLocationRequest(ind);
              } catch (Exception e) {
                  loger.error("Error processing updateLocationRequest: " + e.getMessage(), e);
              }
          }
      }
docs: -- Location management services