code: @Nullable
      public synchronized Beacon track(@NonNull Beacon beacon) {
          Beacon trackedBeacon = null;
          if (beacon.isMultiFrameBeacon() || beacon.getServiceUuid() != -1) {
              trackedBeacon = trackGattBeacon(beacon);
          }
          else {
              trackedBeacon = beacon;
          }
          return trackedBeacon;
      }
docs: Tracks a beacon. For Gatt-based beacons, returns a merged copy of fields from multiple
  frames. Returns null when passed a Gatt-based beacon that has is only extra beacon data.