@Override
 public BroadcasterCache clearCache(String broadcasterId, String uuid, CacheMessage cache) {
   if (cache != null) {
     messages.remove(cache);
     messagesIds.remove(cache.getId());
   }
   return this;
 }
  protected List<Object> get(long cacheHeaderTime) {
    List<Object> result = new ArrayList<Object>();
    readWriteLock.readLock().lock();
    try {
      for (CacheMessage cacheMessage : messages) {
        if (cacheMessage.getCreateTime() > cacheHeaderTime) {
          result.add(cacheMessage.getMessage());
        }
      }

    } finally {
      readWriteLock.readLock().unlock();
    }

    logger.trace("Retrieved messages {}", result);
    return result;
  }