constructor(ast, node, pathResolver, commentTags = []) {
    this._ast = ast;
    this._node = node;
    this._pathResolver = pathResolver;
    this._commentTags = commentTags;
    this._value = {};

    Reflect.defineProperty(this._node, 'doc', {value: this});

    this._value.__docId__ = ASTNodeContainer.addNode(node);

    this._apply();
  }
create instance.
@param {AST} ast - this is AST that contains this doc.
@param {ASTNode} node - this is self node.
@param {PathResolver} pathResolver - this is file path resolver that contains this doc.
@param {Tag[]} commentTags - this is tags that self node has.