    importPackage(Packages.de.elo.ix.client);

    //@include lib_Class.js
    //@include lib_sol.common.SordUtils.js
    //@include lib_sol.common.AclUtils.js
    //@include lib_sol.common.AsyncUtils.js
    //@include lib_sol.common.Map.js
    //@include lib_sol.common.ix.DynAdHocFlowUtils.js
    //@include lib_sol.common.ix.FunctionBase.js

    var logger = sol.create("sol.Logger", { scope: "sol.common.ix.functions.BackToPreviousUser" });

    /**
     * Send a dynamic ad-hocc workflow back to the previous user
     *
     * @author MW, ELO Digital Office GmbH
     * @version 1.2
     *
     * @eloix
     *
     * @requires  sol.common.WfUtils
     * @requires  sol.common.WfMap
     * @requires  sol.common.MapTable
     * @requires  sol.common.ix.FunctionBase
     * @requires  sol.common.ix.DynAdHocFlowUtils
     *
     */
    sol.define("sol.common.ix.functions.BackToPreviousUser", {
      extend: "sol.common.ix.FunctionBase",

      requiredConfig: ["wfDiagram"],

      /**
       * @cfg {de.elo.ix.client.WFDiagram} wfDiagram (required)
       * The WFDiagram to which the changes should me applied to
       */

      initialize: function (config) {
        var me = this;
        me.params = config;
        me.$super("sol.common.ix.FunctionBase", "initialize", [config]);
      },

      /**
       * Send a dynamic ad-hocc workflow back to the previous user
       * @return {Boolean}
       */
      process: function () {
        var me = this,
            config;

        config = {
          currentUserKey: me.currentUserKey,
          previousUserKey: me.previousUserKey
        };

        sol.common.ix.DynAdHocFlowUtils.backToPreviousUser(me.wfDiagram.id, me.wfDiagram.objId, config);

        return true;
      }
    });

    /**
     * @member sol.common.ix.functions.BackToPreviousUser
     * @static
     * @inheritdoc sol.common.ix.FunctionBase#onExitNode
     */
    function onExitNode(clInfo, userId, wfDiagram, nodeId) {
      logger.enter("onExitNode_BackToPreviousUser", { flowId: wfDiagram.id, nodeId: nodeId });
      var params, module;

      params = sol.common.WfUtils.parseAndCheckParams(wfDiagram, nodeId);
      params.wfDiagram = wfDiagram;

      module = sol.create("sol.common.ix.functions.BackToPreviousUser", params);
      module.process();

      logger.exit("onExitNode_BackToPreviousUser");
    }