/**
   * search listenable future.
   *
   * @param q the q
   * @return the listenable future
   */
  public ListenableFuture<DriveItem> search(String q) {

    java.util.Map<String, Object> map = new java.util.HashMap<String, Object>();
    map.put("q", q);

    Request request = getResolver().createRequest();
    request.setVerb(HttpVerb.GET);
    String parameters = getFunctionParameters(map);

    request.getUrl().appendPathComponent("microsoft.graph.search(" + parameters + ")");

    ListenableFuture<OrcResponse> future = oDataExecute(request);

    return transformToEntityListenableFuture(
        transformToStringListenableFuture(future), DriveItem.class, getResolver());
  }
  /**
   * restoreRaw listenable future.
   *
   * @param identifierUris the identifierUris
   * @return the listenable future
   */
  public ListenableFuture<String> restoreRaw(String identifierUris) {

    java.util.Map<String, String> map = new java.util.HashMap<String, String>();

    map.put("identifierUris", identifierUris);

    Request request = getResolver().createRequest();
    request.setVerb(HttpVerb.POST);

    request.setContent(
        getResolver().getJsonSerializer().jsonObjectFromJsonMap(map).getBytes(Constants.UTF8));

    request.getUrl().appendPathComponent("Microsoft.Graph.restore");

    ListenableFuture<OrcResponse> future = oDataExecute(request);
    return transformToStringListenableFuture(future);
  }
  /**
   * checkMemberGroupsRaw listenable future.
   *
   * @param groupIds the groupIds
   * @return the listenable future
   */
  public ListenableFuture<String> checkMemberGroupsRaw(String groupIds) {

    java.util.Map<String, String> map = new java.util.HashMap<String, String>();

    map.put("groupIds", groupIds);

    Request request = getResolver().createRequest();
    request.setVerb(HttpVerb.POST);

    request.setContent(
        getResolver().getJsonSerializer().jsonObjectFromJsonMap(map).getBytes(Constants.UTF8));

    request.getUrl().appendPathComponent("Microsoft.DirectoryServices.checkMemberGroups");

    ListenableFuture<OrcResponse> future = oDataExecute(request);
    return transformToStringListenableFuture(future);
  }
  /**
   * snoozeReminderRaw listenable future.
   *
   * @param newReminderTime the newReminderTime
   * @return the listenable future
   */
  public ListenableFuture<String> snoozeReminderRaw(String newReminderTime) {

    java.util.Map<String, String> map = new java.util.HashMap<String, String>();

    map.put("NewReminderTime", newReminderTime);

    Request request = getResolver().createRequest();
    request.setVerb(HttpVerb.POST);

    request.setContent(
        getResolver().getJsonSerializer().jsonObjectFromJsonMap(map).getBytes(Constants.UTF8));

    request.getUrl().appendPathComponent("microsoft.graph.snoozeReminder");

    ListenableFuture<OrcResponse> future = oDataExecute(request);
    return transformToStringListenableFuture(future);
  }
  /**
   * tentativelyAcceptRaw listenable future.
   *
   * @param comment the comment @param sendResponse the sendResponse
   * @return the listenable future
   */
  public ListenableFuture<String> tentativelyAcceptRaw(String comment, String sendResponse) {

    java.util.Map<String, String> map = new java.util.HashMap<String, String>();

    map.put("Comment", comment);
    map.put("SendResponse", sendResponse);

    Request request = getResolver().createRequest();
    request.setVerb(HttpVerb.POST);

    request.setContent(
        getResolver().getJsonSerializer().jsonObjectFromJsonMap(map).getBytes(Constants.UTF8));

    request.getUrl().appendPathComponent("microsoft.graph.tentativelyAccept");

    ListenableFuture<OrcResponse> future = oDataExecute(request);
    return transformToStringListenableFuture(future);
  }