public void accept() throws ImsException {
    Log.i(TAG, "accept#started");

    if (isExpired()) {
      throw new IllegalStateException("The request has expired");
    }
    for (IFileSelectorWrapper wrapper : iFileSelectorMap.values()) {
      if (!wrapper.isPathSet()) {
        throw new ImsException(
            "A file path has not been set for all file selectors in the request");
      }
    }

    try {
      mFilePullRequest.accept();
    } catch (RemoteException e) {
      Log.e(TAG, e.getMessage(), e);
    }
    Log.i(TAG, "accept#finish");
  }