code: public Workspace getWorkspace(long id, Boolean loadAll, EnumSet<SourceInclusion> includes) throws SmartsheetException {
          String path = "workspaces/" + id;
  
          // Add the parameters to a map and build the query string at the end
          HashMap<String, Object> parameters = new HashMap<String, Object>();
  
          parameters.put("include", QueryUtil.generateCommaSeparatedList(includes));
          if (loadAll != null) {
              parameters.put("loadAll", Boolean.toString(loadAll));
          }
  
          path += QueryUtil.generateUrl(null, parameters);
  
          return this.getResource(path, Workspace.class);
      }
docs: Get a workspace.
  
  It mirrors to the following Smartsheet REST API method: GET /workspace/{id}
  
  Exceptions:
  
  - InvalidRequestException : if there is any problem with the REST API request
  
  - AuthorizationException : if there is any problem with the REST API authorization(access token)
  
  - ResourceNotFoundException : if the resource can not be found
  
  - ServiceUnavailableException : if the REST API service is not available (possibly due to rate limiting)
  
  - SmartsheetRestException : if there is any other REST API related error occurred during the operation
  
  - SmartsheetException : if there is any other error occurred during the operation
  
  @param id the id
  @param loadAll load all contents in a workspace
  @param includes used to specify the optional objects to include
  @return the resource (note that if there is no such resource, this method will throw ResourceNotFoundException
  rather than returning null).
  @throws SmartsheetException the smartsheet exception