docs: @SuppressWarnings("unused")
  	@RequiresPermission(allOf = {Manifest.permission.BLUETOOTH_ADMIN, Manifest.permission.BLUETOOTH})
  	public final void startScan(@Nullable final List<ScanFilter> filters,
  								@Nullable final ScanSettings settings,
  								@NonNull  final ScanCallback callback) {
  		//noinspection ConstantConditions
  		if (callback == null) {
  			throw new IllegalArgumentException("callback is null");
  		}
  		final Handler handler = new Handler(Looper.getMainLooper());
  		startScanInternal(filters != null ? filters : Collections.<ScanFilter>emptyList(),
  				settings != null ? settings : new ScanSettings.Builder().build(),
  				callback, handler);
  	}