docs: public static XContentBuilder marshall(RoleBean bean) throws StorageException {
          try (XContentBuilder builder = XContentFactory.jsonBuilder()) {
              preMarshall(bean);
              builder
                  .startObject()
                      .field("id", bean.getId())
                      .field("name", bean.getName())
                      .field("description", bean.getDescription())
                      .field("createdBy", bean.getCreatedBy())
                      .field("createdOn", bean.getCreatedOn().getTime())
                      .field("autoGrant", bean.getAutoGrant());
              Set<PermissionType> permissions = bean.getPermissions();
              if (permissions != null && !permissions.isEmpty()) {
                  builder.array("permissions", permissions.toArray(new PermissionType[permissions.size()]));
              }
              builder.endObject();
              postMarshall(bean);
              return builder;
          } catch (IOException e) {
              throw new StorageException(e);
          }
      }