JSetL: Declarative Programming in Java with Sets