@@ -0,0 +1,1417 @@
+package io.teknek.nibiru.engine;%0A%0Aimport java.io.BufferedOutputStream;%0Aimport java.io.File;%0Aimport java.io.FileOutputStream;%0Aimport java.io.IOException;%0A%0Aimport io.teknek.nibiru.Configuration;%0Aimport io.teknek.nibiru.Token;%0A%0Aimport com.google.common.hash.BloomFilter;%0Aimport com.google.common.hash.Funnel;%0Aimport com.google.common.hash.PrimitiveSink;%0A%0Apublic class BloomFilterWriter %7B%0A%0A  private final BloomFilter%3CToken%3E bloomFilter;%0A  private static final int expectedInsertions = 100; //Be smarter here%0A  private final String id;%0A  private final Configuration configuration;%0A  %0A  public BloomFilterWriter(String id, Configuration configuration)%7B%0A    this.id = id;%0A    this.configuration = configuration;%0A    bloomFilter = BloomFilter.create(TokenFunnel.INSTANCE, expectedInsertions);%0A  %7D%0A  %0A  public enum TokenFunnel implements Funnel%3CToken%3E %7B%0A    INSTANCE;%0A    public void funnel(Token person, PrimitiveSink into) %7B%0A      into.putUnencodedChars(person.getToken()).putUnencodedChars(person.getRowkey());%0A    %7D%0A  %7D%0A  %0A  public void put(Token t)%7B%0A    bloomFilter.put(t);%0A  %7D%0A  %0A  public boolean mightContain(Token t)%7B%0A    return bloomFilter.mightContain(t);%0A  %7D%0A  %0A  public void writeAndClose() throws IOException %7B%0A    BufferedOutputStream bo = new BufferedOutputStream(new FileOutputStream(new File(%0A            configuration.getSstableDirectory(), id + %22.bf%22)));%0A    bloomFilter.writeTo(bo);%0A    bo.close();%0A  %7D%0A%7D%0A

Needs this