Container.nodeType == Node.PROCESSING_INSTRUCTION_NODE)) {
    // "Let clone be the result of calling cloneNode(false) on original
    // start node."
    var clone = originalStartNode.cloneNode(false);

    // "Set the data of clone to the result of calling
    // substringData(original start offset, original end offset − original
    // start offset) on original start node."
    clone.data = originalStartNode.substringData(originalStartOffset,
      originalEndOffset - originalStartOffset);

    // "App