code: public static BoxGroup.Info createGroup(BoxAPIConnection api, String name, String provenance,
                                              String externalSyncIdentifier, String description,
                                              String invitabilityLevel, String memberViewabilityLevel) {
          JsonObject requestJSON = new JsonObject();
          requestJSON.add("name", name);
  
          if (provenance != null) {
              requestJSON.add("provenance", provenance);
          }
          if (externalSyncIdentifier != null) {
              requestJSON.add("external_sync_identifier", externalSyncIdentifier);
          }
          if (description != null) {
              requestJSON.add("description", description);
          }
          if (invitabilityLevel != null) {
              requestJSON.add("invitability_level", invitabilityLevel);
          }
          if (memberViewabilityLevel != null) {
              requestJSON.add("member_viewability_level", memberViewabilityLevel);
          }
  
          URL url = GROUPS_URL_TEMPLATE.build(api.getBaseURL());
          BoxJSONRequest request = new BoxJSONRequest(api, url, "POST");
          request.setBody(requestJSON.toString());
          BoxJSONResponse response = (BoxJSONResponse) request.send();
          JsonObject responseJSON = JsonObject.readFrom(response.getJSON());
  
          BoxGroup group = new BoxGroup(api, responseJSON.get("id").asString());
          return group.new Info(responseJSON);
      }
docs: Creates a new group with a specified name.
  @param  api  the API connection to be used by the group.
  @param  name the name of the new group.
  @param provenance the provenance of the new group
  @param externalSyncIdentifier the external_sync_identifier of the new group
  @param description the description of the new group
  @param invitabilityLevel the invitibility_level of the new group
  @param memberViewabilityLevel the member_viewability_level of the new group
  @return      info about the created group.