code: @POST
      @Consumes(MediaType.APPLICATION_JSON)
      @Produces(MediaType.APPLICATION_JSON)
      @RequiresPermissions(I18nPermissions.KEY_WRITE)
      public Response createKey(KeyRepresentation keyRepresentation) throws URISyntaxException {
          WebAssertions.assertNotNull(keyRepresentation, THE_KEY_SHOULD_NOT_BE_NULL);
          WebAssertions.assertNotBlank(keyRepresentation.getName(), THE_KEY_SHOULD_CONTAINS_A_NAME);
          WebAssertions.assertNotBlank(keyRepresentation.getDefaultLocale(), THE_KEY_SHOULD_CONTAINS_A_LOCALE);
  
          assertKeyDoNotAlreadyExists(keyRepresentation);
  
          Key key = factory.createKey(keyRepresentation.getName());
          key.setComment(keyRepresentation.getComment());
          addDefaultTranslation(keyRepresentation, key);
          keyRepository.add(key);
  
          return Response.created(new URI(uriInfo.getRequestUri() + "/" + key.getId()))
                  .entity(keyFinder.findKeyWithName(key.getId())).build();
      }
docs: Inserts a key with the translation in the default language.
  
  @param keyRepresentation key representation
  @return 201 if the resource is created, 409 if the resource already existed