public void ProcessInPacketBuffer() {// process a packet for distance updates
    BlastPacket bpkt, BlastPktNext;
    DataPacket dpkt, DataPktNext;
    while (!BlastPacketInBuf.isEmpty()) {
      bpkt = BlastPacketInBuf.removeFirst(); // if (TempPkt instanceof BlastPacket) { } ?
      BlastPktNext = ProcessBlastPacket(bpkt);
      bpkt.DeleteMe();
      if (BlastPktNext != null) {
        if (BlastPktNext.LifeSpan > 0) {// snox, fiat lifespan is just for testing
          BlastPacketOutBuf.add(BlastPktNext);
        }
      }
    }
    while (!DataPacketInBuf.isEmpty()) {
      dpkt = DataPacketInBuf.removeFirst(); // if (TempPkt instanceof BlastPacket) { } ?
      DataPktNext = ProcessDataPacket(dpkt);
      dpkt.DeleteMe();
      if (DataPktNext != null) {
        DataPacketOutBuf.add(DataPktNext);
      }
    }
  }