build =  async function(luArray, verbose, luis_culture, luSearchFn) {
    let mergedContent = await mergeLuFiles(luArray, verbose, luis_culture, luSearchFn)
    let parsedLUISList = mergedContent.LUISContent.filter(item => item.includeInCollate)
    if (parsedLUISList.length === 0) return new Luis()
    let luisList = []
    parsedLUISList.forEach(i => {
        luisList.push(i.LUISJsonStructure)
    });
    return collate(luisList)
}
Builds a Luis instance from a Lu list.
@param {Array<Lu>} luObjArray Array of LU files to be merge
@param {boolean} log indicates if we need verbose logging.
@param {string} luis_culture LUIS locale code
@param {function} luSearchFn function to retrieve the lu files found in the references
@returns {Luis} new Luis instance
@throws {exception} Throws on errors. exception object includes errCode and text.