cloneCurrent.setNodeValue(
(cloneCurrent.getNodeValue()).substring(fStartOffset, fEndOffset));
if (traversalType == EXTRACT_CONTENTS) {
deleteData((CharacterData)current, fStartOffset, fEndOffset-fStartOffset);
}
frag.appendChild(cloneCurrent);
} else {
current = current.getFirstChild();
int i = 0;
for(i = 0; i < fStartOffset && current != null; i++) {
current=current.getNextSibling();