docs: @RequiresPermission(allOf = {Manifest.permission.BLUETOOTH_ADMIN, Manifest.permission.BLUETOOTH})
  	public final void startScan(@Nullable final List<ScanFilter> filters,
  								@Nullable final ScanSettings settings,
  								@NonNull  final Context context,
  								@NonNull  final PendingIntent callbackIntent) {
  		//noinspection ConstantConditions
  		if (callbackIntent == null) {
  			throw new IllegalArgumentException("callbackIntent is null");
  		}
  		//noinspection ConstantConditions
  		if (context == null) {
  			throw new IllegalArgumentException("context is null");
  		}
  		startScanInternal(filters != null ? filters : Collections.<ScanFilter>emptyList(),
  				settings != null ? settings : new ScanSettings.Builder().build(),
  				context, callbackIntent);
  	}