internal override TrieIndexHeader GetHeader() { if (!_headers.ContainsKey(_headerFileName)) { lock (_lockObject) { if (!_headers.ContainsKey(_headerFileName)) { _headers.Add(_headerFileName, TrieNodeHelperFileSystemExtensions.ReadHeaderFile(_headerFileName)); } } } return(_headers[_headerFileName]); }
internal override TrieIndexHeader GetHeader() { // double checked initialization if (!_headerDictionary.ContainsKey(_headerFileName)) { lock (_lockObject) { if (!_headerDictionary.ContainsKey(_headerFileName)) { var currentHeader = TrieNodeHelperFileSystemExtensions.ReadHeaderFile(_headerFileName); _headerDictionary.Add(_headerFileName, currentHeader); } } } TrieIndexHeader header = _headerDictionary[_headerFileName]; return(header); }