private Event filter(Event event){
  if (tags.isEmpty() && ttl == 0) {
    return event;
  }
  final String host=event.getHost() != null ? event.getHost() : this.host;
  final Map<String,String> mergedTags=Maps.newHashMap(tags);
  mergedTags.putAll(event.getTags());
  final Set<String> mergedRiemannTags=Sets.newHashSet(riemannTags);
  mergedRiemannTags.addAll(event.getRiemannTags());
  final Date time=event.getTime() != null ? event.getTime() : new Date();
  final Long ttl=event.getTtl() != 0 ? event.getTtl() : this.ttl;
  return new Event(event.getKey(),event.getValue(),time,ttl,event.getState(),event.getDescription(),host,mergedRiemannTags,mergedTags);
}

private Event filter ( Event event ) { if ( tags . isEmpty ( ) && ttl == 0 ) { return event ; } final String host = event . getHost ( ) != null ? event . getHost ( ) : this . host ; final Map < String , String > mergedTags = Maps . newHashMap ( tags ) ; mergedTags . putAll ( event . getTags ( ) ) ; final Set < String > mergedRiemannTags = Sets . newHashSet ( riemannTags ) ; mergedRiemannTags . addAll ( event . getRiemannTags ( ) ) ; final Date time = event . getTime ( ) != null ? event . getTime ( ) : new Date ( ) ; final Long ttl = event . getTtl ( ) != 0 ? event . getTtl ( ) : this . ttl ; return new Event ( event . getKey ( ) , event . getValue ( ) , time , ttl , event . getState ( ) , event . getDescription ( ) , host , mergedRiemannTags , mergedTags ) ; }
filter the provided event and complete fields .
