code: public ServiceCall<Environment> createEnvironment(CreateEnvironmentOptions createEnvironmentOptions) {
      Validator.notNull(createEnvironmentOptions, "createEnvironmentOptions cannot be null");
      String[] pathSegments = { "v1/environments" };
      RequestBuilder builder = RequestBuilder.post(RequestBuilder.constructHttpUrl(getEndPoint(), pathSegments));
      builder.query("version", versionDate);
      Map<String, String> sdkHeaders = SdkCommon.getSdkHeaders("discovery", "v1", "createEnvironment");
      for (Entry<String, String> header : sdkHeaders.entrySet()) {
        builder.header(header.getKey(), header.getValue());
      }
      builder.header("Accept", "application/json");
      final JsonObject contentJson = new JsonObject();
      contentJson.addProperty("name", createEnvironmentOptions.name());
      if (createEnvironmentOptions.description() != null) {
        contentJson.addProperty("description", createEnvironmentOptions.description());
      }
      if (createEnvironmentOptions.size() != null) {
        contentJson.addProperty("size", createEnvironmentOptions.size());
      }
      builder.bodyJson(contentJson);
      return createServiceCall(builder.build(), ResponseConverterUtils.getObject(Environment.class));
    }
docs: Create an environment.
  
  Creates a new environment for private data. An environment must be created before collections can be created.
  
  **Note**: You can create only one environment for private data per service instance. An attempt to create another
  environment results in an error.
  
  @param createEnvironmentOptions the {@link CreateEnvironmentOptions} containing the options for the call
  @return a {@link ServiceCall} with a response type of {@link Environment}