@Override
    protected Void doExecute() throws InvalidProcessStateException, ProcessExecutionException {
      try {
        if (operation == Operation.PUT) {
          profileManager.modifyUserProfile(
              getID(),
              new IUserProfileModification() {

                @Override
                public void modifyUserProfile(UserProfile userProfile) {
                  if (operation == Operation.MODIFY) {
                    new FolderIndex(userProfile.getRoot(), null, randomString());
                  }
                }
              });
        } else {
          profileManager.readUserProfile();
        }
      } catch (GetFailedException | PutFailedException | AbortModifyException e) {
        throw new ProcessExecutionException(this, e);
      }
      return null;
    }