code: public BoxFolder.Info restoreFolder(String folderID, String newName, String newParentID) {
          JsonObject requestJSON = new JsonObject();
  
          if (newName != null) {
              requestJSON.add("name", newName);
          }
  
          if (newParentID != null) {
              JsonObject parent = new JsonObject();
              parent.add("id", newParentID);
              requestJSON.add("parent", parent);
          }
  
          URL url = RESTORE_FOLDER_URL_TEMPLATE.build(this.api.getBaseURL(), folderID);
          BoxJSONRequest request = new BoxJSONRequest(this.api, url, "POST");
          request.setBody(requestJSON.toString());
          BoxJSONResponse response = (BoxJSONResponse) request.send();
          JsonObject responseJSON = JsonObject.readFrom(response.getJSON());
  
          BoxFolder restoredFolder = new BoxFolder(this.api, responseJSON.get("id").asString());
          return restoredFolder.new Info(responseJSON);
      }
docs: Restores a trashed folder to a new location with a new name.
  @param  folderID    the ID of the trashed folder.
  @param  newName     an optional new name to give the folder. This can be null to use the folder's original name.
  @param  newParentID an optional new parent ID for the folder. This can be null to use the folder's original
  parent.
  @return             info about the restored folder.