I think it does not work because scala erases the references to scala.Boolean (and scala primitive types in general) to Object.
The signature of Producer.filter is as follows:
```public abstract com.twitter.summingbird.Producer<P, T> filter(scala.Function1<T, java.lang.Object>);```
passing it a Function<Foo, Boolean> will not compile.
The same thing is happening in Semigroup. Semigroup.longsemigroup() returns a Semigroup[Object] when jlongsemigroup() returns a Semigroup[java.lang.Long]