private LiveDataResult generateMergedResult(ExternalIdBundle ticker, LiveDataUpdate update) {
   if (_currentResults.containsKey(ticker)) {
     LiveDataResult result = _currentResults.get(ticker);
     return result.update(update);
   } else {
     return new DefaultLiveDataResult(ticker, update);
   }
 }
  @Override
  public DefaultImmutableLiveDataResults createSnapshot(Set<ExternalIdBundle> tickers) {
    ArgumentChecker.notNull(tickers, "tickers");

    Map<ExternalIdBundle, LiveDataResult> results = new HashMap<>();
    for (ExternalIdBundle ticker : tickers) {
      LiveDataResult result = _currentResults.get(ticker);
      if (result != null) {
        results.put(ticker, result.permissionCheck());
      }
    }
    return new DefaultImmutableLiveDataResults(results);
  }