code: @Override public void onPermissionRationaleShouldBeShown(
        final List<PermissionRequest> permissions, final PermissionToken token) {
      thread.execute(new Runnable() {
        @Override public void run() {
          listener.onPermissionRationaleShouldBeShown(permissions, token);
        }
      });
    }
docs: Decorates de permission listener execution with a given thread
  
  @param permissions The permissions that has been requested. Collections of values found in
  {@link android.Manifest.permission}
  @param token Token used to continue or cancel the permission request process. The permission
  request process will remain blocked until one of the token methods is called