code: public CMAUiExtension create(String spaceId, String environmentId, CMAUiExtension extension) {
      assertNotNull(extension, "extension");
      assertNotNull(spaceId, "spaceId");
      assertNotNull(environmentId, "environmentId");
  
      final String id = extension.getId();
  
      final CMASystem system = extension.getSystem();
      extension.setSystem(null);
  
      try {
        if (id == null) {
          return service.create(spaceId, environmentId, extension).blockingFirst();
        } else {
          return service.create(spaceId, environmentId, id, extension).blockingFirst();
        }
      } finally {
        extension.setSystem(system);
      }
    }
docs: Create a new ui extension.
  <p>
  This method will override the configuration specified through
  {@link CMAClient.Builder#setSpaceId(String)} and will ignore
  {@link CMAClient.Builder#setEnvironmentId(String)}.
  
  @param spaceId       the id of the space this ui extension should be created in.
  @param environmentId the id of the environment this is valid on.
  @param extension     the ui extension to be added.
  @return the created ui extension.
  @throws IllegalArgumentException if spaceId is null.
  @throws IllegalArgumentException if extension is null.
  @throws IllegalArgumentException if extension's id is null.
  @throws IllegalArgumentException if extension's version is null.
  @throws IllegalArgumentException if extension's spaceId is null.