docs: @RequestMapping(method = RequestMethod.POST, params = "action=movePortletAjax")
      public ModelAndView movePortletAjax(
              HttpServletRequest request,
              HttpServletResponse response,
              @RequestParam String sourceId,
              @RequestParam String previousNodeId,
              @RequestParam String nextNodeId) {
          final Locale locale = RequestContextUtils.getLocale(request);
          boolean success = false;
          if (StringUtils.isNotBlank(nextNodeId)) {
              success = moveElementInternal(request, sourceId, nextNodeId, "insertBefore");
          } else {
              success = moveElementInternal(request, sourceId, previousNodeId, "appendAfter");
          }
          if (success) {
              return new ModelAndView(
                      "jsonView",
                      Collections.singletonMap(
                              "response",
                              getMessage(
                                      "success.move.element", "Element moved successfully", locale)));
          } else {
              response.setStatus(HttpServletResponse.SC_FORBIDDEN);
              return new ModelAndView(
                      "jsonView",
                      Collections.singletonMap(
                              "response",
                              getMessage("error.move.element", "Error moving element.", locale)));
          }
      }