package org.seqcode.gsebricks.verbs;
/**
* A Distiller maps objects of type A to objects of type B.
Unlike a Mapper or an Expander, the Distiller may consume
multiple objects of type A through it's execute() method before
producing a new output of type B (available both through execute()
when it is first produced and later through getCurrent())
*/
public interface Distiller<A,B> {
public B execute(A a);
public B getCurrent();
/* clears the distiller's state */
public void reset();
}