docs: protected CompletableFuture<JsonObjectBuilder> makeBuilder(int instanceId) {
      CompletableFuture<T> futureValue = getValue();
  
      if (futureValue == null) {
        logger.error("Could not retrieve value " + this.getClass().getName());
        return null;
      }
  
      return futureValue
          .exceptionally(
              t -> {
                logger.error("Could not retrieve value " + this.getClass().getName(), t);
                return null;
              })
          .thenApply(
              value -> {
                JsonArrayBuilder perms = Json.createArrayBuilder();
                if (isWritable) {
                  perms.add("pw");
                }
                if (isReadable) {
                  perms.add("pr");
                }
                if (isEventable) {
                  perms.add("ev");
                }
                JsonObjectBuilder builder =
                    Json.createObjectBuilder()
                        .add("iid", instanceId)
                        .add("type", shortType)
                        .add("perms", perms.build())
                        .add("format", format)
                        .add("ev", false)
                        .add("description", description);
                setJsonValue(builder, value);
                return builder;
              });
    }