_serializeNode(currentNode) {
        if (
            this.fullRendering &&
            !this.isPipeInserted &&
            this._isPipeNode(currentNode)
        ) {
            this._serializePipe(currentNode);
        } else if (this._isSpecialNode(currentNode)) {
            this._serializeSpecial(currentNode);
        } else if (this._isSlotNode(currentNode)) {
            this._serializeSlot(currentNode);
        } else if (this.treeAdapter.isElementNode(currentNode)) {
            this._serializeElement(currentNode);
        } else if (this.treeAdapter.isTextNode(currentNode)) {
            this._serializeTextNode(currentNode);
        } else if (this.treeAdapter.isCommentNode(currentNode)) {
            this._serializeCommentNode(currentNode);
        } else if (this.treeAdapter.isDocumentTypeNode(currentNode)) {
            this._serializeDocumentTypeNode(currentNode);
        }
        // Push default slots and async placeholder before body
        if (
            this.fullRendering &&
            !this.lastChildInserted &&
            this._isLastChildOfBody(currentNode)
        ) {
            this._serializeRest();
        }
    }
Serialize the node based on their type

@param {object} currentNode