Ruling Out: Rule Engines and Declarative Programming Come to Java