docs: @POST
      @Consumes(MediaType.MULTIPART_FORM_DATA)
      @Produces(MediaType.APPLICATION_JSON)
      public Response registeriOSVariant(
              @MultipartForm iOSApplicationUploadForm form,
              @PathParam("pushAppID") String pushApplicationID,
              @Context UriInfo uriInfo) {
          // find the root push app
          PushApplication pushApp = getSearch().findByPushApplicationIDForDeveloper(pushApplicationID);
  
          if (pushApp == null) {
              return Response.status(Status.NOT_FOUND).entity("Could not find requested PushApplicationEntity").build();
          }
  
          // some model validation on the uploaded form
          try {
              validateModelClass(form);
          } catch (ConstraintViolationException cve) {
              logger.trace("Unable to validate given form upload");
  
              // Build and return the 400 (Bad Request) response
              ResponseBuilder builder = createBadRequestResponse(cve.getConstraintViolations());
              return builder.build();
          }
  
          // extract form values:
          iOSVariant iOSVariant = new iOSVariant();
          iOSVariant.setName(form.getName());
          iOSVariant.setDescription(form.getDescription());
          iOSVariant.setPassphrase(form.getPassphrase());
          iOSVariant.setCertificate(form.getCertificate());
          iOSVariant.setProduction(form.getProduction());
  
          // some model validation on the entity:
          try {
              validateModelClass(iOSVariant);
          } catch (ConstraintViolationException cve) {
              logger.trace("Unable to create iOS variant entity");
  
              // Build and return the 400 (Bad Request) response
              ResponseBuilder builder = createBadRequestResponse(cve.getConstraintViolations());
  
              return builder.build();
          }
  
          logger.trace("Register iOS variant with Push Application '{}'", pushApplicationID);
          // store the iOS variant:
          variantService.addVariant(iOSVariant);
          // add iOS variant, and merge:
          pushAppService.addVariant(pushApp, iOSVariant);
  
          return Response.created(uriInfo.getAbsolutePathBuilder().path(String.valueOf(iOSVariant.getVariantID())).build()).entity(iOSVariant).build();
      }