private void followGroupChannelGrantExplicit(GroupVoiceChannelGrantUpdateExplicit grant) {
    Integer channelId = grant.getTransmitId();
    Optional<IdUpdateBlock> idBlock = channelIdMap.getBlockForId(channelId);

    if (!idBlock.isPresent()) {
      log.debug(
          followRequest.getChannelId()
              + " unable to process voice channel grant, id map missing "
              + channelId);
    } else {
      sendRequest(buildCaptureRequest(grant, grant.getDownlinkFreq(idBlock.get())));
    }
  }
 private GroupChannelId buildChannelId(
     GroupVoiceChannelGrantUpdateExplicit grant, Double frequency) {
   return new GroupChannelId(
       followRequest.getChannelId().getWacn(),
       followRequest.getChannelId().getSystemId(),
       followRequest.getChannelId().getRfSubsystemId(),
       P25Config.UNIT_ID_NONE, // D; f12 D;
       grant.getGroupId(),
       frequency);
 }