-
-        var childrenLength = this.children().length;
-        this.children().forEach(function(child) {
-            this.before(child);
-        }.bind(this));
-
-        this.detach();
-
-        return {
-            element1: parent.children()[myIdx + (moveLeftRange ? -1 : 0)],
-            element2: parent.children()[myIdx + childrenLength-1 + (moveRightRange ? 1 : 0)]
-        };
-    },
-    data: function() {
-        var dom = this.dom(),
-            args = Array.prototype.slice.call(arguments, 0);
-        if(args.length === 2 && args[1] === undefined)
-            return dom.removeData(args[0]);
-        return dom.data.apply(dom, arguments);
-    },
-    toXML: function(level) {
-        var node = $('<' + this.getWlxmlTag() + '>');
-
-        if(this.getWlxmlClass())
-            node.attr('class', this.getWlxmlClass());
-        var meta = this.getWlxmlMetaAttrs();
-        meta.forEach(function(attr) {
-            if(attr.value)
-                node.attr('meta-' + attr.name, attr.value);
-        });
-        _.keys(this.data('other-attrs') || {}).forEach(function(key) {
-            node.attr(key, this.data('other-attrs')[key]);
-        }, this);
-
-        var addFormatting = function() {
-            var toret = $('<div>');
-            var formattings = {};
-
-            if(this.data('orig-before') !== undefined) {
-                if(this.data('orig-before')) {
-                    toret.prepend(document.createTextNode(this.data('orig-before')));
-                }
-            } else if(level && this.getWlxmlTag() !== 'span') {
-                toret.append('\n' + (new Array(level * 2 + 1)).join(' '));
-            }
-
-            toret.append(node);
-
-            if(this.data('orig-after')) {
-                toret.append(document.createTextNode(this.data('orig-after')));
-            }
-
-            /* Inside node */
-            if(this.data('orig-begin')) {
-                node.prepend(this.data('orig-begin'));
-                formattings.begin = true;
-            }
-
-            if(this.data('orig-end') !== undefined) {
-                if(this.data('orig-end')) {
-                    node.append(this.data('orig-end'));
-                }
-            } else if(this.getWlxmlTag() !== 'span' && children.length){
-                node.append('\n' + (new Array(level * 2 + 1)).join(' '));
-            }
-           
-            return {parts: toret.contents(), formattings: formattings};
-        }.bind(this);
-