code: @SuppressWarnings("unchecked")
    public CMAEntry create(
        String spaceId,
        String environmentId,
        String contentTypeId,
        CMAEntry entry) {
      assertNotNull(spaceId, "spaceId");
      assertNotNull(environmentId, "environmentId");
      assertNotNull(entry, "entry");
  
      final String entryId = entry.getSystem().getId();
  
      final CMASystem sys = entry.getSystem();
      entry.setSystem(null);
  
      try {
        if (entryId == null) {
          return service.create(spaceId, environmentId, contentTypeId, entry).blockingFirst();
        } else {
          return service.create(spaceId, environmentId, contentTypeId, entryId, entry)
              .blockingFirst();
        }
      } finally {
        entry.setSystem(sys);
      }
    }
docs: Create a new Entry.
  <p>
  In case the given {@code entry} has an ID associated with it, that ID will be used,
  otherwise the server will auto-generate an ID that will be contained in the response upon
  success.
  <p>
  This method will override the configuration specified through
  {@link CMAClient.Builder#setSpaceId(String)} and
  {@link CMAClient.Builder#setEnvironmentId(String)}.
  
  @param spaceId       Space ID
  @param environmentId Environment ID
  @param contentTypeId Content Type ID
  @param entry         Entry
  @return {@link CMAEntry} result instance
  @throws IllegalArgumentException if spaceId is null.
  @throws IllegalArgumentException if environmentId is null.
  @throws IllegalArgumentException if contentTypeId is null.
  @throws IllegalArgumentException if entry is null.