add(command, source) {
        const sourceList = this.sourceMap[command] || (this.sourceMap[command] = [])
        if (sourceList.length === 0 || sourceList.indexOf(source) !== -1) {
            this.result.push(command)
        }
        sourceList.push(source)
    }
Adds a command (a pattern) into this set if it's not overlapped.
"Overlapped" is meaning that the command was added from a different source.

@param {string} command - A pattern text to add.
@param {string} source - A task name to check.
@returns {void}