addEdit(curr.e, curr.index, curr.removed, curr.added);
BranchElement e = (BranchElement) curr.e; Element[] removed = curr.getRemovedElements(); Element[] added = curr.getAddedElements(); e.replace(curr.index, removed.length, added); addEdit(e, curr.index, removed, added);
    public void insert(int offset, int length, ElementSpec[] data,                       DefaultDocumentEvent ev)    {      if (length == 0)        return;      this.offset = offset;      this.length = length;      this.endOffset = offset + length;      documentEvent = ev;      // Push the root and the paragraph at offset onto the element stack.      edits.clear();      elementStack.clear();      elementStack.push(root);      elementStack.push(root.getElement(root.getElementIndex(offset)));      insertUpdate(data);            int size = edits.size();      for (int i = 0; i < size; i++)        {          Edit curr = (Edit) edits.get(i);          addEdit(curr.e, curr.index, curr.removed, curr.added);        }    }