code: @NonNull @CheckReturnValue private <T> ObservableTransformer<T, Permission> ensureEach(@NonNull final String... permissions) {
      checkPermissions(permissions);
  
      return new ObservableTransformer<T, Permission>() {
        @Override @NonNull @CheckReturnValue public ObservableSource<Permission> apply(final Observable<T> o) {
          return request(o, permissions);
        }
      };
    }
docs: Map emitted items from the source observable into {@link Permission} objects for each
  permission in parameters.
  <p>
  If one or several permissions have never been requested, invoke the related framework method
  to ask the user if he allows the permissions.