[jboss-svn-commits] JBL Code SVN: r18864 - in labs/jbossrules/branches/4.0.x/drools-compiler/src/test: resources/org/drools/integrationtests and 1 other directory.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Tue Mar 11 22:46:50 EDT 2008


Author: mark.proctor at jboss.com
Date: 2008-03-11 22:46:49 -0400 (Tue, 11 Mar 2008)
New Revision: 18864

Added:
   labs/jbossrules/branches/4.0.x/drools-compiler/src/test/resources/org/drools/integrationtests/test_MergePackageWithSameRuleNames1.drl
   labs/jbossrules/branches/4.0.x/drools-compiler/src/test/resources/org/drools/integrationtests/test_MergePackageWithSameRuleNames2.drl
Modified:
   labs/jbossrules/branches/4.0.x/drools-compiler/src/test/java/org/drools/integrationtests/MiscTest.java
Log:


Modified: labs/jbossrules/branches/4.0.x/drools-compiler/src/test/java/org/drools/integrationtests/MiscTest.java
===================================================================
--- labs/jbossrules/branches/4.0.x/drools-compiler/src/test/java/org/drools/integrationtests/MiscTest.java	2008-03-12 02:46:42 UTC (rev 18863)
+++ labs/jbossrules/branches/4.0.x/drools-compiler/src/test/java/org/drools/integrationtests/MiscTest.java	2008-03-12 02:46:49 UTC (rev 18864)
@@ -121,4580 +121,4098 @@
 /** Run all the tests with the ReteOO engine implementation */
 public class MiscTest extends TestCase {
 
-    protected RuleBase getRuleBase() throws Exception {
+	protected RuleBase getRuleBase() throws Exception {
 
-        return RuleBaseFactory.newRuleBase( RuleBase.RETEOO,
-                                            null );
-    }
+		return RuleBaseFactory.newRuleBase(RuleBase.RETEOO, null);
+	}
 
-    protected RuleBase getRuleBase(final RuleBaseConfiguration config) throws Exception {
+	protected RuleBase getRuleBase(final RuleBaseConfiguration config)
+			throws Exception {
 
-        return RuleBaseFactory.newRuleBase( RuleBase.RETEOO,
-                                            config );
-    }
+		return RuleBaseFactory.newRuleBase(RuleBase.RETEOO, config);
+	}
 
-    public void testGlobals() throws Exception {
+	public void testGlobals() throws Exception {
 
-        final PackageBuilder builder = new PackageBuilder();
-        builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "globals_rule_test.drl" ) ) );
-        final Package pkg = builder.getPackage();
+		final PackageBuilder builder = new PackageBuilder();
+		builder.addPackageFromDrl(new InputStreamReader(getClass()
+				.getResourceAsStream("globals_rule_test.drl")));
+		final Package pkg = builder.getPackage();
 
-        final RuleBase ruleBase = getRuleBase();
-        ruleBase.addPackage( pkg );
-        final WorkingMemory workingMemory = ruleBase.newStatefulSession();
+		final RuleBase ruleBase = getRuleBase();
+		ruleBase.addPackage(pkg);
+		final WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
-        final List list = new ArrayList();
-        workingMemory.setGlobal( "list",
-                                 list );
+		final List list = new ArrayList();
+		workingMemory.setGlobal("list", list);
 
-        workingMemory.setGlobal( "string",
-                                 "stilton" );
+		workingMemory.setGlobal("string", "stilton");
 
-        final Cheese stilton = new Cheese( "stilton",
-                                           5 );
-        workingMemory.insert( stilton );
+		final Cheese stilton = new Cheese("stilton", 5);
+		workingMemory.insert(stilton);
 
-        workingMemory.fireAllRules();
+		workingMemory.fireAllRules();
 
-        assertEquals( new Integer( 5 ),
-                      list.get( 0 ) );
-    }
+		assertEquals(new Integer(5), list.get(0));
+	}
 
-    public void testGlobals2() throws Exception {
+	public void testGlobals2() throws Exception {
 
-        final PackageBuilder builder = new PackageBuilder();
-        builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_globalsAsConstraints.drl" ) ) );
-        final Package pkg = builder.getPackage();
+		final PackageBuilder builder = new PackageBuilder();
+		builder.addPackageFromDrl(new InputStreamReader(getClass()
+				.getResourceAsStream("test_globalsAsConstraints.drl")));
+		final Package pkg = builder.getPackage();
 
-        final RuleBase ruleBase = getRuleBase();
-        ruleBase.addPackage( pkg );
-        final WorkingMemory workingMemory = ruleBase.newStatefulSession();
+		final RuleBase ruleBase = getRuleBase();
+		ruleBase.addPackage(pkg);
+		final WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
-        final List results = new ArrayList();
-        workingMemory.setGlobal( "results",
-                                 results );
+		final List results = new ArrayList();
+		workingMemory.setGlobal("results", results);
 
-        final List cheeseTypes = new ArrayList();
-        workingMemory.setGlobal( "cheeseTypes",
-                                 cheeseTypes );
-        cheeseTypes.add( "stilton" );
-        cheeseTypes.add( "muzzarela" );
+		final List cheeseTypes = new ArrayList();
+		workingMemory.setGlobal("cheeseTypes", cheeseTypes);
+		cheeseTypes.add("stilton");
+		cheeseTypes.add("muzzarela");
 
-        final Cheese stilton = new Cheese( "stilton",
-                                           5 );
-        workingMemory.insert( stilton );
+		final Cheese stilton = new Cheese("stilton", 5);
+		workingMemory.insert(stilton);
 
-        workingMemory.fireAllRules();
+		workingMemory.fireAllRules();
 
-        assertEquals( 1,
-                      results.size() );
-        assertEquals( "memberOf",
-                      results.get( 0 ) );
+		assertEquals(1, results.size());
+		assertEquals("memberOf", results.get(0));
 
-        final Cheese brie = new Cheese( "brie",
-                                        5 );
-        workingMemory.insert( brie );
+		final Cheese brie = new Cheese("brie", 5);
+		workingMemory.insert(brie);
 
-        workingMemory.fireAllRules();
+		workingMemory.fireAllRules();
 
-        assertEquals( 2,
-                      results.size() );
-        assertEquals( "not memberOf",
-                      results.get( 1 ) );
-    }
+		assertEquals(2, results.size());
+		assertEquals("not memberOf", results.get(1));
+	}
 
-    public void testCustomGlobalResolver() throws Exception {
-        final PackageBuilder builder = new PackageBuilder();
-        builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_globalCustomResolver.drl" ) ) );
-        final Package pkg = builder.getPackage();
+	public void testCustomGlobalResolver() throws Exception {
+		final PackageBuilder builder = new PackageBuilder();
+		builder.addPackageFromDrl(new InputStreamReader(getClass()
+				.getResourceAsStream("test_globalCustomResolver.drl")));
+		final Package pkg = builder.getPackage();
 
-        final RuleBase ruleBase = getRuleBase();
-        ruleBase.addPackage( pkg );
-        final WorkingMemory workingMemory = ruleBase.newStatefulSession();
+		final RuleBase ruleBase = getRuleBase();
+		ruleBase.addPackage(pkg);
+		final WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
-        final Map map = new HashMap();
-        List list = new ArrayList();
-        String string = "stilton";
+		final Map map = new HashMap();
+		List list = new ArrayList();
+		String string = "stilton";
 
-        map.put( "list",
-                 list );
-        map.put( "string",
-                 string );
+		map.put("list", list);
+		map.put("string", string);
 
-        workingMemory.setGlobalResolver( new GlobalResolver() {
-            public Object resolveGlobal(String identifier) {
-                return map.get( identifier );
-            }
+		workingMemory.setGlobalResolver(new GlobalResolver() {
+			public Object resolveGlobal(String identifier) {
+				return map.get(identifier);
+			}
 
-            public void setGlobal(String identifier,
-                                  Object value) {
-                map.put( identifier,
-                         value );
-            }
+			public void setGlobal(String identifier, Object value) {
+				map.put(identifier, value);
+			}
 
-        } );
+		});
 
-        workingMemory.fireAllRules();
+		workingMemory.fireAllRules();
 
-        assertEquals( 1,
-                      list.size() );
+		assertEquals(1, list.size());
 
-        assertEquals( new Integer( 5 ),
-                      list.get( 0 ) );
-    }
+		assertEquals(new Integer(5), list.get(0));
+	}
 
-    public void testCustomGlobalResolverWithWorkingMemoryObject() throws Exception {
-        final PackageBuilder builder = new PackageBuilder();
-        builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_globalCustomResolver.drl" ) ) );
-        final Package pkg = builder.getPackage();
+	public void testCustomGlobalResolverWithWorkingMemoryObject()
+			throws Exception {
+		final PackageBuilder builder = new PackageBuilder();
+		builder.addPackageFromDrl(new InputStreamReader(getClass()
+				.getResourceAsStream("test_globalCustomResolver.drl")));
+		final Package pkg = builder.getPackage();
 
-        final RuleBase ruleBase = getRuleBase();
-        ruleBase.addPackage( pkg );
-        final WorkingMemory workingMemory = ruleBase.newStatefulSession();
+		final RuleBase ruleBase = getRuleBase();
+		ruleBase.addPackage(pkg);
+		final WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
-        final Map map = new HashMap();
-        List list = new ArrayList();
-        String string = "stilton";
+		final Map map = new HashMap();
+		List list = new ArrayList();
+		String string = "stilton";
 
-        map.put( "list",
-                 list );
-        map.put( "string",
-                 string );
+		map.put("list", list);
+		map.put("string", string);
 
-        workingMemory.setGlobalResolver( new GlobalResolver() {
-            public Object resolveGlobal(String identifier) {
-                return map.get( identifier );
-            }
+		workingMemory.setGlobalResolver(new GlobalResolver() {
+			public Object resolveGlobal(String identifier) {
+				return map.get(identifier);
+			}
 
-            public void setGlobal(String identifier,
-                                  Object value) {
-                map.put( identifier,
-                         value );
-            }
+			public void setGlobal(String identifier, Object value) {
+				map.put(identifier, value);
+			}
 
-        } );
+		});
 
-        Cheese bree = new Cheese();
-        bree.setPrice( 100 );
+		Cheese bree = new Cheese();
+		bree.setPrice(100);
 
-        workingMemory.insert( bree );
+		workingMemory.insert(bree);
 
-        workingMemory.fireAllRules();
+		workingMemory.fireAllRules();
 
-        assertEquals( 2,
-                      list.size() );
+		assertEquals(2, list.size());
 
-        assertEquals( new Integer( 5 ),
-                      list.get( 0 ) );
+		assertEquals(new Integer(5), list.get(0));
 
-        assertEquals( new Integer( 6 ),
-                      list.get( 1 ) );
-    }
+		assertEquals(new Integer(6), list.get(1));
+	}
 
-    public void testFieldBiningsAndEvalSharing() throws Exception {
-        final String drl = "test_FieldBindingsAndEvalSharing.drl";
-        evalSharingTest( drl );
-    }
+	public void testFieldBiningsAndEvalSharing() throws Exception {
+		final String drl = "test_FieldBindingsAndEvalSharing.drl";
+		evalSharingTest(drl);
+	}
 
-    public void testFieldBiningsAndPredicateSharing() throws Exception {
-        final String drl = "test_FieldBindingsAndPredicateSharing.drl";
-        evalSharingTest( drl );
-    }
+	public void testFieldBiningsAndPredicateSharing() throws Exception {
+		final String drl = "test_FieldBindingsAndPredicateSharing.drl";
+		evalSharingTest(drl);
+	}
 
-    private void evalSharingTest(final String drl) throws DroolsParserException,
-                                                  IOException,
-                                                  Exception {
-        final PackageBuilder builder = new PackageBuilder();
-        builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( drl ) ) );
-        final Package pkg = builder.getPackage();
+	private void evalSharingTest(final String drl)
+			throws DroolsParserException, IOException, Exception {
+		final PackageBuilder builder = new PackageBuilder();
+		builder.addPackageFromDrl(new InputStreamReader(getClass()
+				.getResourceAsStream(drl)));
+		final Package pkg = builder.getPackage();
 
-        final RuleBase ruleBase = getRuleBase();
-        ruleBase.addPackage( pkg );
-        final WorkingMemory wm = ruleBase.newStatefulSession();
+		final RuleBase ruleBase = getRuleBase();
+		ruleBase.addPackage(pkg);
+		final WorkingMemory wm = ruleBase.newStatefulSession();
 
-        final List list = new ArrayList();
-        wm.setGlobal( "list",
-                      list );
+		final List list = new ArrayList();
+		wm.setGlobal("list", list);
 
-        final TestParam tp1 = new TestParam();
-        tp1.setValue2( "boo" );
-        wm.insert( tp1 );
+		final TestParam tp1 = new TestParam();
+		tp1.setValue2("boo");
+		wm.insert(tp1);
 
-        wm.fireAllRules();
+		wm.fireAllRules();
 
-        assertEquals( 1,
-                      list.size() );
-    }
+		assertEquals(1, list.size());
+	}
 
-    public void testFactBindings() throws Exception {
-        final PackageBuilder builder = new PackageBuilder();
-        builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_FactBindings.drl" ) ) );
-        final Package pkg = builder.getPackage();
+	public void testFactBindings() throws Exception {
+		final PackageBuilder builder = new PackageBuilder();
+		builder.addPackageFromDrl(new InputStreamReader(getClass()
+				.getResourceAsStream("test_FactBindings.drl")));
+		final Package pkg = builder.getPackage();
 
-        // add the package to a rulebase
-        final RuleBase ruleBase = getRuleBase();
-        ruleBase.addPackage( pkg );
+		// add the package to a rulebase
+		final RuleBase ruleBase = getRuleBase();
+		ruleBase.addPackage(pkg);
 
-        final WorkingMemory workingMemory = ruleBase.newStatefulSession();
+		final WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
-        final List events = new ArrayList();
-        final WorkingMemoryEventListener listener = new DefaultWorkingMemoryEventListener() {
-            public void objectUpdated(ObjectUpdatedEvent event) {
-                events.add( event );
-            }
-        };
+		final List events = new ArrayList();
+		final WorkingMemoryEventListener listener = new DefaultWorkingMemoryEventListener() {
+			public void objectUpdated(ObjectUpdatedEvent event) {
+				events.add(event);
+			}
+		};
 
-        workingMemory.addEventListener( listener );
+		workingMemory.addEventListener(listener);
 
-        final Person bigCheese = new Person( "big cheese" );
-        final Cheese cheddar = new Cheese( "cheddar",
-                                           15 );
-        bigCheese.setCheese( cheddar );
+		final Person bigCheese = new Person("big cheese");
+		final Cheese cheddar = new Cheese("cheddar", 15);
+		bigCheese.setCheese(cheddar);
 
-        final FactHandle bigCheeseHandle = workingMemory.insert( bigCheese );
-        final FactHandle cheddarHandle = workingMemory.insert( cheddar );
-        workingMemory.fireAllRules();
+		final FactHandle bigCheeseHandle = workingMemory.insert(bigCheese);
+		final FactHandle cheddarHandle = workingMemory.insert(cheddar);
+		workingMemory.fireAllRules();
 
-        ObjectUpdatedEvent event = (ObjectUpdatedEvent) events.get( 0 );
-        assertSame( cheddarHandle,
-                    event.getFactHandle() );
-        assertSame( cheddar,
-                    event.getOldObject() );
-        assertSame( cheddar,
-                    event.getObject() );
+		ObjectUpdatedEvent event = (ObjectUpdatedEvent) events.get(0);
+		assertSame(cheddarHandle, event.getFactHandle());
+		assertSame(cheddar, event.getOldObject());
+		assertSame(cheddar, event.getObject());
 
-        event = (ObjectUpdatedEvent) events.get( 1 );
-        assertSame( bigCheeseHandle,
-                    event.getFactHandle() );
-        assertSame( bigCheese,
-                    event.getOldObject() );
-        assertSame( bigCheese,
-                    event.getObject() );
-    }
+		event = (ObjectUpdatedEvent) events.get(1);
+		assertSame(bigCheeseHandle, event.getFactHandle());
+		assertSame(bigCheese, event.getOldObject());
+		assertSame(bigCheese, event.getObject());
+	}
 
-    public void testNullHandling() throws Exception {
-        final PackageBuilder builder = new PackageBuilder();
-        builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_NullHandling.drl" ) ) );
-        final Package pkg = builder.getPackage();
+	public void testNullHandling() throws Exception {
+		final PackageBuilder builder = new PackageBuilder();
+		builder.addPackageFromDrl(new InputStreamReader(getClass()
+				.getResourceAsStream("test_NullHandling.drl")));
+		final Package pkg = builder.getPackage();
 
-        // add the package to a rulebase
-        final RuleBase ruleBase = getRuleBase();
-        ruleBase.addPackage( pkg );
+		// add the package to a rulebase
+		final RuleBase ruleBase = getRuleBase();
+		ruleBase.addPackage(pkg);
 
-        final WorkingMemory workingMemory = ruleBase.newStatefulSession();
+		final WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
-        final List list = new ArrayList();
-        workingMemory.setGlobal( "list",
-                                 list );
-        final Cheese nullCheese = new Cheese( null,
-                                              2 );
-        workingMemory.insert( nullCheese );
+		final List list = new ArrayList();
+		workingMemory.setGlobal("list", list);
+		final Cheese nullCheese = new Cheese(null, 2);
+		workingMemory.insert(nullCheese);
 
-        final Person notNullPerson = new Person( "shoes butt back" );
-        notNullPerson.setBigDecimal( new BigDecimal( "42.42" ) );
+		final Person notNullPerson = new Person("shoes butt back");
+		notNullPerson.setBigDecimal(new BigDecimal("42.42"));
 
-        workingMemory.insert( notNullPerson );
+		workingMemory.insert(notNullPerson);
 
-        final Person nullPerson = new Person( "whee" );
-        nullPerson.setBigDecimal( null );
+		final Person nullPerson = new Person("whee");
+		nullPerson.setBigDecimal(null);
 
-        workingMemory.insert( nullPerson );
+		workingMemory.insert(nullPerson);
 
-        workingMemory.fireAllRules();
-        System.out.println( list.get( 0 ) );
-        assertEquals( 3,
-                      list.size() );
+		workingMemory.fireAllRules();
+		System.out.println(list.get(0));
+		assertEquals(3, list.size());
 
-    }
+	}
 
-    public void NullFieldOnCompositeSink() throws Exception {
-        final PackageBuilder builder = new PackageBuilder();
-        builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_NullFieldOnCompositeSink.drl" ) ) );
-        final Package pkg = builder.getPackage();
+	public void NullFieldOnCompositeSink() throws Exception {
+		final PackageBuilder builder = new PackageBuilder();
+		builder.addPackageFromDrl(new InputStreamReader(getClass()
+				.getResourceAsStream("test_NullFieldOnCompositeSink.drl")));
+		final Package pkg = builder.getPackage();
 
-        // add the package to a rulebase
-        final RuleBase ruleBase = getRuleBase();
-        ruleBase.addPackage( pkg );
+		// add the package to a rulebase
+		final RuleBase ruleBase = getRuleBase();
+		ruleBase.addPackage(pkg);
 
-        WorkingMemory workingMemory = ruleBase.newStatefulSession();
-        List list = new ArrayList();
-        workingMemory.setGlobal( "list",
-                                 list );
+		WorkingMemory workingMemory = ruleBase.newStatefulSession();
+		List list = new ArrayList();
+		workingMemory.setGlobal("list", list);
 
-        workingMemory.insert( new Attribute() );
-        workingMemory.insert( new Message() );
-        workingMemory.fireAllRules();
+		workingMemory.insert(new Attribute());
+		workingMemory.insert(new Message());
+		workingMemory.fireAllRules();
 
-        assertEquals( 1,
-                      list.size() );
-        assertEquals( "X",
-                      list.get( 0 ) );
+		assertEquals(1, list.size());
+		assertEquals("X", list.get(0));
 
-    }
+	}
 
-    public void testEmptyPattern() throws Exception {
-        // pre build the package
-        final PackageBuilder builder = new PackageBuilder();
-        builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_EmptyPattern.drl" ) ) );
-        final Package pkg = builder.getPackage();
+	public void testEmptyPattern() throws Exception {
+		// pre build the package
+		final PackageBuilder builder = new PackageBuilder();
+		builder.addPackageFromDrl(new InputStreamReader(getClass()
+				.getResourceAsStream("test_EmptyPattern.drl")));
+		final Package pkg = builder.getPackage();
 
-        // add the package to a rulebase
-        final RuleBase ruleBase = getRuleBase();
-        ruleBase.addPackage( pkg );
+		// add the package to a rulebase
+		final RuleBase ruleBase = getRuleBase();
+		ruleBase.addPackage(pkg);
 
-        final WorkingMemory workingMemory = ruleBase.newStatefulSession();
+		final WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
-        final List list = new ArrayList();
-        workingMemory.setGlobal( "list",
-                                 list );
+		final List list = new ArrayList();
+		workingMemory.setGlobal("list", list);
 
-        final Cheese stilton = new Cheese( "stilton",
-                                           5 );
-        workingMemory.insert( stilton );
+		final Cheese stilton = new Cheese("stilton", 5);
+		workingMemory.insert(stilton);
 
-        workingMemory.fireAllRules();
+		workingMemory.fireAllRules();
 
-        assertEquals( new Integer( 5 ),
-                      list.get( 0 ) );
-    }
+		assertEquals(new Integer(5), list.get(0));
+	}
 
-    private RuleBase loadRuleBase(final Reader reader) throws IOException,
-                                                      DroolsParserException,
-                                                      Exception {
-        final DrlParser parser = new DrlParser();
-        final PackageDescr packageDescr = parser.parse( reader );
-        if ( parser.hasErrors() ) {
-            System.err.println( parser.getErrors() );
-            Assert.fail( "Error messages in parser, need to sort this our (or else collect error messages)" );
-        }
-        // pre build the package
-        final PackageBuilder builder = new PackageBuilder();
-        builder.addPackage( packageDescr );
-        final Package pkg = builder.getPackage();
+	private RuleBase loadRuleBase(final Reader reader) throws IOException,
+			DroolsParserException, Exception {
+		final DrlParser parser = new DrlParser();
+		final PackageDescr packageDescr = parser.parse(reader);
+		if (parser.hasErrors()) {
+			System.err.println(parser.getErrors());
+			Assert
+					.fail("Error messages in parser, need to sort this our (or else collect error messages)");
+		}
+		// pre build the package
+		final PackageBuilder builder = new PackageBuilder();
+		builder.addPackage(packageDescr);
+		final Package pkg = builder.getPackage();
 
-        // add the package to a rulebase
-        final RuleBase ruleBase = getRuleBase();
-        ruleBase.addPackage( pkg );
-        // load up the rulebase
-        return ruleBase;
-    }
+		// add the package to a rulebase
+		final RuleBase ruleBase = getRuleBase();
+		ruleBase.addPackage(pkg);
+		// load up the rulebase
+		return ruleBase;
+	}
 
-    public void testExplicitAnd() throws Exception {
-        final Reader reader = new InputStreamReader( getClass().getResourceAsStream( "test_ExplicitAnd.drl" ) );
-        final RuleBase ruleBase = loadRuleBase( reader );
+	public void testExplicitAnd() throws Exception {
+		final Reader reader = new InputStreamReader(getClass()
+				.getResourceAsStream("test_ExplicitAnd.drl"));
+		final RuleBase ruleBase = loadRuleBase(reader);
 
-        final WorkingMemory workingMemory = ruleBase.newStatefulSession();
-        final List list = new ArrayList();
-        workingMemory.setGlobal( "list",
-                                 list );
-        workingMemory.insert( new Message( "hola" ) );
+		final WorkingMemory workingMemory = ruleBase.newStatefulSession();
+		final List list = new ArrayList();
+		workingMemory.setGlobal("list", list);
+		workingMemory.insert(new Message("hola"));
 
-        workingMemory.fireAllRules();
-        assertEquals( 0,
-                      list.size() );
+		workingMemory.fireAllRules();
+		assertEquals(0, list.size());
 
-        workingMemory.insert( new Cheese( "brie",
-                                          33 ) );
+		workingMemory.insert(new Cheese("brie", 33));
 
-        workingMemory.fireAllRules();
-        assertEquals( 1,
-                      list.size() );
-    }
+		workingMemory.fireAllRules();
+		assertEquals(1, list.size());
+	}
 
-    public void testHelloWorld() throws Exception {
+	public void testHelloWorld() throws Exception {
 
-        // read in the source
-        final Reader reader = new InputStreamReader( getClass().getResourceAsStream( "HelloWorld.drl" ) );
-        final RuleBase ruleBase = loadRuleBase( reader );
+		// read in the source
+		final Reader reader = new InputStreamReader(getClass()
+				.getResourceAsStream("HelloWorld.drl"));
+		final RuleBase ruleBase = loadRuleBase(reader);
 
-        final WorkingMemory workingMemory = ruleBase.newStatefulSession();
+		final WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
-        final List list = new ArrayList();
-        workingMemory.setGlobal( "list",
-                                 list );
+		final List list = new ArrayList();
+		workingMemory.setGlobal("list", list);
 
-        // go !
-        final Message message = new Message( "hola" );
-        message.addToList( "hello" );
-        message.setNumber( 42 );
+		// go !
+		final Message message = new Message("hola");
+		message.addToList("hello");
+		message.setNumber(42);
 
-        workingMemory.insert( message );
-        workingMemory.insert( "boo" );
-        workingMemory.fireAllRules();
-        assertTrue( message.isFired() );
-        assertEquals( message,
-                      list.get( 0 ) );
+		workingMemory.insert(message);
+		workingMemory.insert("boo");
+		workingMemory.fireAllRules();
+		assertTrue(message.isFired());
+		assertEquals(message, list.get(0));
 
-    }
+	}
 
-    public void testMVELSoundex() throws Exception {
+	public void testMVELSoundex() throws Exception {
 
-        // read in the source
-        final Reader reader = new InputStreamReader( getClass().getResourceAsStream( "MVEL_soundex.drl" ) );
-        final RuleBase ruleBase = loadRuleBase( reader );
+		// read in the source
+		final Reader reader = new InputStreamReader(getClass()
+				.getResourceAsStream("MVEL_soundex.drl"));
+		final RuleBase ruleBase = loadRuleBase(reader);
 
-        final WorkingMemory workingMemory = ruleBase.newStatefulSession();
+		final WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
-        Cheese c = new Cheese( "fubar",
-                               2 );
+		Cheese c = new Cheese("fubar", 2);
 
-        workingMemory.insert( c );
-        workingMemory.fireAllRules();
-        assertEquals( 42,
-                      c.getPrice() );
-    }
+		workingMemory.insert(c);
+		workingMemory.fireAllRules();
+		assertEquals(42, c.getPrice());
+	}
 
-    public void testLiteral() throws Exception {
-        final PackageBuilder builder = new PackageBuilder();
-        builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "literal_rule_test.drl" ) ) );
-        final Package pkg = builder.getPackage();
+	public void testLiteral() throws Exception {
+		final PackageBuilder builder = new PackageBuilder();
+		builder.addPackageFromDrl(new InputStreamReader(getClass()
+				.getResourceAsStream("literal_rule_test.drl")));
+		final Package pkg = builder.getPackage();
 
-        final RuleBase ruleBase = getRuleBase();
-        ruleBase.addPackage( pkg );
-        final WorkingMemory workingMemory = ruleBase.newStatefulSession();
+		final RuleBase ruleBase = getRuleBase();
+		ruleBase.addPackage(pkg);
+		final WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
-        final List list = new ArrayList();
-        workingMemory.setGlobal( "list",
-                                 list );
+		final List list = new ArrayList();
+		workingMemory.setGlobal("list", list);
 
-        final Cheese stilton = new Cheese( "stilton",
-                                           5 );
-        workingMemory.insert( stilton );
+		final Cheese stilton = new Cheese("stilton", 5);
+		workingMemory.insert(stilton);
 
-        workingMemory.fireAllRules();
+		workingMemory.fireAllRules();
 
-        assertEquals( "stilton",
-                      list.get( 0 ) );
-    }
+		assertEquals("stilton", list.get(0));
+	}
 
-    public void testLiteralWithBoolean() throws Exception {
-        final PackageBuilder builder = new PackageBuilder();
-        builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "literal_with_boolean.drl" ) ) );
-        final Package pkg = builder.getPackage();
+	public void testLiteralWithBoolean() throws Exception {
+		final PackageBuilder builder = new PackageBuilder();
+		builder.addPackageFromDrl(new InputStreamReader(getClass()
+				.getResourceAsStream("literal_with_boolean.drl")));
+		final Package pkg = builder.getPackage();
 
-        final RuleBase ruleBase = getRuleBase();
-        ruleBase.addPackage( pkg );
-        final WorkingMemory workingMemory = ruleBase.newStatefulSession();
+		final RuleBase ruleBase = getRuleBase();
+		ruleBase.addPackage(pkg);
+		final WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
-        final List list = new ArrayList();
-        workingMemory.setGlobal( "list",
-                                 list );
+		final List list = new ArrayList();
+		workingMemory.setGlobal("list", list);
 
-        final PersonInterface bill = new Person( "bill",
-                                                 null,
-                                                 12 );
-        bill.setAlive( true );
-        workingMemory.insert( bill );
-        workingMemory.fireAllRules();
+		final PersonInterface bill = new Person("bill", null, 12);
+		bill.setAlive(true);
+		workingMemory.insert(bill);
+		workingMemory.fireAllRules();
 
-        assertEquals( bill,
-                      list.get( 0 ) );
-    }
+		assertEquals(bill, list.get(0));
+	}
 
-    public void testFactTemplate() throws Exception {
-        final PackageBuilder builder = new PackageBuilder();
-        builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_FactTemplate.drl" ) ) );
-        final Package pkg = builder.getPackage();
+	public void testFactTemplate() throws Exception {
+		final PackageBuilder builder = new PackageBuilder();
+		builder.addPackageFromDrl(new InputStreamReader(getClass()
+				.getResourceAsStream("test_FactTemplate.drl")));
+		final Package pkg = builder.getPackage();
 
-        final RuleBase ruleBase = getRuleBase();
-        ruleBase.addPackage( pkg );
-        final WorkingMemory workingMemory = ruleBase.newStatefulSession();
+		final RuleBase ruleBase = getRuleBase();
+		ruleBase.addPackage(pkg);
+		final WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
-        final List list = new ArrayList();
-        workingMemory.setGlobal( "list",
-                                 list );
+		final List list = new ArrayList();
+		workingMemory.setGlobal("list", list);
 
-        final FactTemplate cheese = pkg.getFactTemplate( "Cheese" );
-        final Fact stilton = cheese.createFact( 0 );
-        stilton.setFieldValue( "name",
-                               "stilton" );
-        stilton.setFieldValue( "price",
-                               new Integer( 100 ) );
-        workingMemory.insert( stilton );
-        workingMemory.fireAllRules();
+		final FactTemplate cheese = pkg.getFactTemplate("Cheese");
+		final Fact stilton = cheese.createFact(0);
+		stilton.setFieldValue("name", "stilton");
+		stilton.setFieldValue("price", new Integer(100));
+		workingMemory.insert(stilton);
+		workingMemory.fireAllRules();
 
-        assertEquals( 1,
-                      list.size() );
-        assertEquals( stilton,
-                      list.get( 0 ) );
-        final Fact fact = (Fact) list.get( 0 );
-        assertSame( stilton,
-                    fact );
-        assertEquals( new Integer( 200 ),
-                      fact.getFieldValue( "price" ) );
+		assertEquals(1, list.size());
+		assertEquals(stilton, list.get(0));
+		final Fact fact = (Fact) list.get(0);
+		assertSame(stilton, fact);
+		assertEquals(new Integer(200), fact.getFieldValue("price"));
 
-    }
+	}
 
-    public void testPropertyChangeSupport() throws Exception {
-        final PackageBuilder builder = new PackageBuilder();
-        builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_PropertyChange.drl" ) ) );
-        final Package pkg = builder.getPackage();
+	public void testPropertyChangeSupport() throws Exception {
+		final PackageBuilder builder = new PackageBuilder();
+		builder.addPackageFromDrl(new InputStreamReader(getClass()
+				.getResourceAsStream("test_PropertyChange.drl")));
+		final Package pkg = builder.getPackage();
 
-        final RuleBase ruleBase = getRuleBase();
-        ruleBase.addPackage( pkg );
-        final WorkingMemory workingMemory = ruleBase.newStatefulSession();
+		final RuleBase ruleBase = getRuleBase();
+		ruleBase.addPackage(pkg);
+		final WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
-        final List list = new ArrayList();
-        workingMemory.setGlobal( "list",
-                                 list );
+		final List list = new ArrayList();
+		workingMemory.setGlobal("list", list);
 
-        final State state = new State( "initial" );
-        workingMemory.insert( state,
-                              true );
-        workingMemory.fireAllRules();
+		final State state = new State("initial");
+		workingMemory.insert(state, true);
+		workingMemory.fireAllRules();
 
-        assertEquals( 1,
-                      list.size() );
+		assertEquals(1, list.size());
 
-        state.setFlag( true );
-        assertEquals( 1,
-                      list.size() );
+		state.setFlag(true);
+		assertEquals(1, list.size());
 
-        workingMemory.fireAllRules();
-        assertEquals( 2,
-                      list.size() );
+		workingMemory.fireAllRules();
+		assertEquals(2, list.size());
 
-        state.setState( "finished" );
-        workingMemory.fireAllRules();
-        assertEquals( 3,
-                      list.size() );
+		state.setState("finished");
+		workingMemory.fireAllRules();
+		assertEquals(3, list.size());
 
-    }
+	}
 
-    public void testBigDecimal() throws Exception {
+	public void testBigDecimal() throws Exception {
 
-        final PackageBuilder builder = new PackageBuilder();
-        builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "big_decimal_and_comparable.drl" ) ) );
-        final Package pkg = builder.getPackage();
+		final PackageBuilder builder = new PackageBuilder();
+		builder.addPackageFromDrl(new InputStreamReader(getClass()
+				.getResourceAsStream("big_decimal_and_comparable.drl")));
+		final Package pkg = builder.getPackage();
 
-        final RuleBase ruleBase = getRuleBase();
-        ruleBase.addPackage( pkg );
-        final WorkingMemory workingMemory = ruleBase.newStatefulSession();
+		final RuleBase ruleBase = getRuleBase();
+		ruleBase.addPackage(pkg);
+		final WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
-        final List list = new ArrayList();
-        workingMemory.setGlobal( "list",
-                                 list );
+		final List list = new ArrayList();
+		workingMemory.setGlobal("list", list);
 
-        final PersonInterface bill = new Person( "bill",
-                                                 null,
-                                                 12 );
-        bill.setBigDecimal( new BigDecimal( "42" ) );
+		final PersonInterface bill = new Person("bill", null, 12);
+		bill.setBigDecimal(new BigDecimal("42"));
 
-        final PersonInterface ben = new Person( "ben",
-                                                null,
-                                                13 );
-        ben.setBigDecimal( new BigDecimal( "43" ) );
+		final PersonInterface ben = new Person("ben", null, 13);
+		ben.setBigDecimal(new BigDecimal("43"));
 
-        workingMemory.insert( bill );
-        workingMemory.insert( ben );
-        workingMemory.fireAllRules();
+		workingMemory.insert(bill);
+		workingMemory.insert(ben);
+		workingMemory.fireAllRules();
 
-        assertEquals( 1,
-                      list.size() );
-    }
+		assertEquals(1, list.size());
+	}
 
-    public void testCell() throws Exception {
-        final Cell cell1 = new Cell( 9 );
-        final Cell cell = new Cell( 0 );
+	public void testCell() throws Exception {
+		final Cell cell1 = new Cell(9);
+		final Cell cell = new Cell(0);
 
-        final PackageBuilder builder = new PackageBuilder();
-        builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "evalmodify.drl" ) ) );
+		final PackageBuilder builder = new PackageBuilder();
+		builder.addPackageFromDrl(new InputStreamReader(getClass()
+				.getResourceAsStream("evalmodify.drl")));
 
-        final RuleBase ruleBase = getRuleBase();
-        ruleBase.addPackage( builder.getPackage() );
+		final RuleBase ruleBase = getRuleBase();
+		ruleBase.addPackage(builder.getPackage());
 
-        final WorkingMemory memory = ruleBase.newStatefulSession();
-        memory.insert( cell1 );
-        memory.insert( cell );
-        memory.fireAllRules();
-        assertEquals( 9,
-                      cell.getValue() );
-    }
+		final WorkingMemory memory = ruleBase.newStatefulSession();
+		memory.insert(cell1);
+		memory.insert(cell);
+		memory.fireAllRules();
+		assertEquals(9, cell.getValue());
+	}
 
-    public void testNesting() throws Exception {
-        Person p = new Person();
-        p.setName( "Michael" );
+	public void testNesting() throws Exception {
+		Person p = new Person();
+		p.setName("Michael");
 
-        Address add1 = new Address();
-        add1.setStreet( "High" );
+		Address add1 = new Address();
+		add1.setStreet("High");
 
-        Address add2 = new Address();
-        add2.setStreet( "Low" );
+		Address add2 = new Address();
+		add2.setStreet("Low");
 
-        List l = new ArrayList();
-        l.add( add1 );
-        l.add( add2 );
+		List l = new ArrayList();
+		l.add(add1);
+		l.add(add2);
 
-        p.setAddresses( l );
+		p.setAddresses(l);
 
-        final PackageBuilder builder = new PackageBuilder();
-        builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "nested_fields.drl" ) ) );
+		final PackageBuilder builder = new PackageBuilder();
+		builder.addPackageFromDrl(new InputStreamReader(getClass()
+				.getResourceAsStream("nested_fields.drl")));
 
-        assertFalse( builder.getErrors().toString(),
-                     builder.hasErrors() );
+		assertFalse(builder.getErrors().toString(), builder.hasErrors());
 
-        DrlParser parser = new DrlParser();
-        PackageDescr desc = parser.parse( new InputStreamReader( getClass().getResourceAsStream( "nested_fields.drl" ) ) );
-        List packageAttrs = desc.getAttributes();
-        assertEquals( 1,
-                      desc.getRules().size() );
-        assertEquals( 1,
-                      packageAttrs.size() );
+		DrlParser parser = new DrlParser();
+		PackageDescr desc = parser.parse(new InputStreamReader(getClass()
+				.getResourceAsStream("nested_fields.drl")));
+		List packageAttrs = desc.getAttributes();
+		assertEquals(1, desc.getRules().size());
+		assertEquals(1, packageAttrs.size());
 
-        RuleDescr rule = (RuleDescr) desc.getRules().get( 0 );
-        List ruleAttrs = rule.getAttributes();
-        assertEquals( 1,
-                      ruleAttrs.size() );
+		RuleDescr rule = (RuleDescr) desc.getRules().get(0);
+		List ruleAttrs = rule.getAttributes();
+		assertEquals(1, ruleAttrs.size());
 
-        assertEquals( "mvel",
-                      ((AttributeDescr) ruleAttrs.get( 0 )).getValue() );
-        assertEquals( "dialect",
-                      ((AttributeDescr) ruleAttrs.get( 0 )).getName() );
-        final RuleBase ruleBase = getRuleBase();
-        ruleBase.addPackage( builder.getPackage() );
+		assertEquals("mvel", ((AttributeDescr) ruleAttrs.get(0)).getValue());
+		assertEquals("dialect", ((AttributeDescr) ruleAttrs.get(0)).getName());
+		final RuleBase ruleBase = getRuleBase();
+		ruleBase.addPackage(builder.getPackage());
 
-        final WorkingMemory memory = ruleBase.newStatefulSession();
+		final WorkingMemory memory = ruleBase.newStatefulSession();
 
-        memory.insert( p );
-        memory.fireAllRules();
+		memory.insert(p);
+		memory.fireAllRules();
 
-    }
+	}
 
-    public void testOr() throws Exception {
-        final PackageBuilder builder = new PackageBuilder();
-        builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "or_test.drl" ) ) );
-        final Package pkg = builder.getPackage();
+	public void testOr() throws Exception {
+		final PackageBuilder builder = new PackageBuilder();
+		builder.addPackageFromDrl(new InputStreamReader(getClass()
+				.getResourceAsStream("or_test.drl")));
+		final Package pkg = builder.getPackage();
 
-        final RuleBase ruleBase = getRuleBase();
-        ruleBase.addPackage( pkg );
-        final WorkingMemory workingMemory = ruleBase.newStatefulSession();
-        final List list = new ArrayList();
-        workingMemory.setGlobal( "list",
-                                 list );
+		final RuleBase ruleBase = getRuleBase();
+		ruleBase.addPackage(pkg);
+		final WorkingMemory workingMemory = ruleBase.newStatefulSession();
+		final List list = new ArrayList();
+		workingMemory.setGlobal("list", list);
 
-        final Cheese cheddar = new Cheese( "cheddar",
-                                           5 );
-        final FactHandle h = workingMemory.insert( cheddar );
+		final Cheese cheddar = new Cheese("cheddar", 5);
+		final FactHandle h = workingMemory.insert(cheddar);
 
-        workingMemory.fireAllRules();
+		workingMemory.fireAllRules();
 
-        // just one added
-        assertEquals( "got cheese",
-                      list.get( 0 ) );
-        assertEquals( 1,
-                      list.size() );
+		// just one added
+		assertEquals("got cheese", list.get(0));
+		assertEquals(1, list.size());
 
-        workingMemory.retract( h );
-        workingMemory.fireAllRules();
+		workingMemory.retract(h);
+		workingMemory.fireAllRules();
 
-        // still just one
-        assertEquals( 1,
-                      list.size() );
+		// still just one
+		assertEquals(1, list.size());
 
-        workingMemory.insert( new Cheese( "stilton",
-                                          5 ) );
-        workingMemory.fireAllRules();
+		workingMemory.insert(new Cheese("stilton", 5));
+		workingMemory.fireAllRules();
 
-        // now have one more
-        assertEquals( 2,
-                      list.size() );
+		// now have one more
+		assertEquals(2, list.size());
 
-    }
+	}
 
-    public void testQuery() throws Exception {
-        final PackageBuilder builder = new PackageBuilder();
-        builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "simple_query_test.drl" ) ) );
-        final Package pkg = builder.getPackage();
+	public void testQuery() throws Exception {
+		final PackageBuilder builder = new PackageBuilder();
+		builder.addPackageFromDrl(new InputStreamReader(getClass()
+				.getResourceAsStream("simple_query_test.drl")));
+		final Package pkg = builder.getPackage();
 
-        final RuleBase ruleBase = getRuleBase();
-        ruleBase.addPackage( pkg );
-        final WorkingMemory workingMemory = ruleBase.newStatefulSession();
+		final RuleBase ruleBase = getRuleBase();
+		ruleBase.addPackage(pkg);
+		final WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
-        final Cheese stilton = new Cheese( "stinky",
-                                           5 );
-        workingMemory.insert( stilton );
-        final QueryResults results = workingMemory.getQueryResults( "simple query" );
-        assertEquals( 1,
-                      results.size() );
-    }
+		final Cheese stilton = new Cheese("stinky", 5);
+		workingMemory.insert(stilton);
+		final QueryResults results = workingMemory
+				.getQueryResults("simple query");
+		assertEquals(1, results.size());
+	}
 
-    public void testEval() throws Exception {
-        final PackageBuilder builder = new PackageBuilder();
-        builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "eval_rule_test.drl" ) ) );
-        final Package pkg = builder.getPackage();
+	public void testEval() throws Exception {
+		final PackageBuilder builder = new PackageBuilder();
+		builder.addPackageFromDrl(new InputStreamReader(getClass()
+				.getResourceAsStream("eval_rule_test.drl")));
+		final Package pkg = builder.getPackage();
 
-        final RuleBase ruleBase = getRuleBase();
-        ruleBase.addPackage( pkg );
-        final WorkingMemory workingMemory = ruleBase.newStatefulSession();
+		final RuleBase ruleBase = getRuleBase();
+		ruleBase.addPackage(pkg);
+		final WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
-        workingMemory.setGlobal( "five",
-                                 new Integer( 5 ) );
+		workingMemory.setGlobal("five", new Integer(5));
 
-        final List list = new ArrayList();
-        workingMemory.setGlobal( "list",
-                                 list );
+		final List list = new ArrayList();
+		workingMemory.setGlobal("list", list);
 
-        final Cheese stilton = new Cheese( "stilton",
-                                           5 );
-        workingMemory.insert( stilton );
-        workingMemory.fireAllRules();
+		final Cheese stilton = new Cheese("stilton", 5);
+		workingMemory.insert(stilton);
+		workingMemory.fireAllRules();
 
-        assertEquals( stilton,
-                      list.get( 0 ) );
-    }
+		assertEquals(stilton, list.get(0));
+	}
 
-    public void testJaninoEval() throws Exception {
-        final PackageBuilderConfiguration config = new PackageBuilderConfiguration();
-        JavaDialectConfiguration javaConf = (JavaDialectConfiguration) config.getDialectConfiguration( "java" );
-        javaConf.setCompiler( JavaDialectConfiguration.JANINO );
+	public void testJaninoEval() throws Exception {
+		final PackageBuilderConfiguration config = new PackageBuilderConfiguration();
+		JavaDialectConfiguration javaConf = (JavaDialectConfiguration) config
+				.getDialectConfiguration("java");
+		javaConf.setCompiler(JavaDialectConfiguration.JANINO);
 
-        final PackageBuilder builder = new PackageBuilder( config );
-        builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "eval_rule_test.drl" ) ) );
-        final Package pkg = builder.getPackage();
+		final PackageBuilder builder = new PackageBuilder(config);
+		builder.addPackageFromDrl(new InputStreamReader(getClass()
+				.getResourceAsStream("eval_rule_test.drl")));
+		final Package pkg = builder.getPackage();
 
-        final RuleBase ruleBase = getRuleBase();
-        ruleBase.addPackage( pkg );
-        final WorkingMemory workingMemory = ruleBase.newStatefulSession();
+		final RuleBase ruleBase = getRuleBase();
+		ruleBase.addPackage(pkg);
+		final WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
-        workingMemory.setGlobal( "five",
-                                 new Integer( 5 ) );
+		workingMemory.setGlobal("five", new Integer(5));
 
-        final List list = new ArrayList();
-        workingMemory.setGlobal( "list",
-                                 list );
+		final List list = new ArrayList();
+		workingMemory.setGlobal("list", list);
 
-        final Cheese stilton = new Cheese( "stilton",
-                                           5 );
-        workingMemory.insert( stilton );
-        workingMemory.fireAllRules();
+		final Cheese stilton = new Cheese("stilton", 5);
+		workingMemory.insert(stilton);
+		workingMemory.fireAllRules();
 
-        assertEquals( stilton,
-                      list.get( 0 ) );
-    }
+		assertEquals(stilton, list.get(0));
+	}
 
-    public void testEvalMore() throws Exception {
-        final PackageBuilder builder = new PackageBuilder();
-        builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "eval_rule_test_more.drl" ) ) );
-        final Package pkg = builder.getPackage();
+	public void testEvalMore() throws Exception {
+		final PackageBuilder builder = new PackageBuilder();
+		builder.addPackageFromDrl(new InputStreamReader(getClass()
+				.getResourceAsStream("eval_rule_test_more.drl")));
+		final Package pkg = builder.getPackage();
 
-        final RuleBase ruleBase = getRuleBase();
-        ruleBase.addPackage( pkg );
-        final WorkingMemory workingMemory = ruleBase.newStatefulSession();
+		final RuleBase ruleBase = getRuleBase();
+		ruleBase.addPackage(pkg);
+		final WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
-        final List list = new ArrayList();
-        workingMemory.setGlobal( "list",
-                                 list );
+		final List list = new ArrayList();
+		workingMemory.setGlobal("list", list);
 
-        final Person foo = new Person( "foo" );
-        workingMemory.insert( foo );
-        workingMemory.fireAllRules();
+		final Person foo = new Person("foo");
+		workingMemory.insert(foo);
+		workingMemory.fireAllRules();
 
-        assertEquals( foo,
-                      list.get( 0 ) );
-    }
+		assertEquals(foo, list.get(0));
+	}
 
-    public void testReturnValue() throws Exception {
-        final PackageBuilder builder = new PackageBuilder();
-        builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "returnvalue_rule_test.drl" ) ) );
-        final Package pkg = builder.getPackage();
+	public void testReturnValue() throws Exception {
+		final PackageBuilder builder = new PackageBuilder();
+		builder.addPackageFromDrl(new InputStreamReader(getClass()
+				.getResourceAsStream("returnvalue_rule_test.drl")));
+		final Package pkg = builder.getPackage();
 
-        final RuleBase ruleBase = getRuleBase();
-        ruleBase.addPackage( pkg );
-        final WorkingMemory workingMemory = ruleBase.newStatefulSession();
+		final RuleBase ruleBase = getRuleBase();
+		ruleBase.addPackage(pkg);
+		final WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
-        workingMemory.setGlobal( "two",
-                                 new Integer( 2 ) );
+		workingMemory.setGlobal("two", new Integer(2));
 
-        final List list = new ArrayList();
-        workingMemory.setGlobal( "list",
-                                 list );
+		final List list = new ArrayList();
+		workingMemory.setGlobal("list", list);
 
-        final PersonInterface peter = new Person( "peter",
-                                                  null,
-                                                  12 );
-        workingMemory.insert( peter );
-        final PersonInterface jane = new Person( "jane",
-                                                 null,
-                                                 10 );
-        workingMemory.insert( jane );
+		final PersonInterface peter = new Person("peter", null, 12);
+		workingMemory.insert(peter);
+		final PersonInterface jane = new Person("jane", null, 10);
+		workingMemory.insert(jane);
 
-        workingMemory.fireAllRules();
+		workingMemory.fireAllRules();
 
-        assertEquals( jane,
-                      list.get( 0 ) );
-        assertEquals( peter,
-                      list.get( 1 ) );
-    }
+		assertEquals(jane, list.get(0));
+		assertEquals(peter, list.get(1));
+	}
 
-    public void testPredicate() throws Exception {
-        final PackageBuilder builder = new PackageBuilder();
-        builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "predicate_rule_test.drl" ) ) );
-        final Package pkg = builder.getPackage();
+	public void testPredicate() throws Exception {
+		final PackageBuilder builder = new PackageBuilder();
+		builder.addPackageFromDrl(new InputStreamReader(getClass()
+				.getResourceAsStream("predicate_rule_test.drl")));
+		final Package pkg = builder.getPackage();
 
-        final RuleBase ruleBase = getRuleBase();
-        ruleBase.addPackage( pkg );
-        final WorkingMemory workingMemory = ruleBase.newStatefulSession();
+		final RuleBase ruleBase = getRuleBase();
+		ruleBase.addPackage(pkg);
+		final WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
-        workingMemory.setGlobal( "two",
-                                 new Integer( 2 ) );
+		workingMemory.setGlobal("two", new Integer(2));
 
-        final List list = new ArrayList();
-        workingMemory.setGlobal( "list",
-                                 list );
+		final List list = new ArrayList();
+		workingMemory.setGlobal("list", list);
 
-        final PersonInterface peter = new Person( "peter",
-                                                  null,
-                                                  12 );
-        workingMemory.insert( peter );
-        final PersonInterface jane = new Person( "jane",
-                                                 null,
-                                                 10 );
-        workingMemory.insert( jane );
+		final PersonInterface peter = new Person("peter", null, 12);
+		workingMemory.insert(peter);
+		final PersonInterface jane = new Person("jane", null, 10);
+		workingMemory.insert(jane);
 
-        workingMemory.fireAllRules();
+		workingMemory.fireAllRules();
 
-        assertEquals( jane,
-                      list.get( 0 ) );
-        assertEquals( peter,
-                      list.get( 1 ) );
-    }
+		assertEquals(jane, list.get(0));
+		assertEquals(peter, list.get(1));
+	}
 
-    public void testNullBehaviour() throws Exception {
-        final PackageBuilder builder = new PackageBuilder();
-        builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "null_behaviour.drl" ) ) );
-        final Package pkg = builder.getPackage();
+	public void testNullBehaviour() throws Exception {
+		final PackageBuilder builder = new PackageBuilder();
+		builder.addPackageFromDrl(new InputStreamReader(getClass()
+				.getResourceAsStream("null_behaviour.drl")));
+		final Package pkg = builder.getPackage();
 
-        final RuleBase ruleBase = getRuleBase();
-        ruleBase.addPackage( pkg );
-        final WorkingMemory workingMemory = ruleBase.newStatefulSession();
+		final RuleBase ruleBase = getRuleBase();
+		ruleBase.addPackage(pkg);
+		final WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
-        final PersonInterface p1 = new Person( "michael",
-                                               "food",
-                                               40 );
-        final PersonInterface p2 = new Person( null,
-                                               "drink",
-                                               30 );
-        workingMemory.insert( p1 );
-        workingMemory.insert( p2 );
+		final PersonInterface p1 = new Person("michael", "food", 40);
+		final PersonInterface p2 = new Person(null, "drink", 30);
+		workingMemory.insert(p1);
+		workingMemory.insert(p2);
 
-        workingMemory.fireAllRules();
+		workingMemory.fireAllRules();
 
-    }
+	}
 
-    public void testNullConstraint() throws Exception {
-        final PackageBuilder builder = new PackageBuilder();
-        builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "null_constraint.drl" ) ) );
-        final Package pkg = builder.getPackage();
+	public void testNullConstraint() throws Exception {
+		final PackageBuilder builder = new PackageBuilder();
+		builder.addPackageFromDrl(new InputStreamReader(getClass()
+				.getResourceAsStream("null_constraint.drl")));
+		final Package pkg = builder.getPackage();
 
-        final RuleBase ruleBase = getRuleBase();
-        ruleBase.addPackage( pkg );
-        final WorkingMemory workingMemory = ruleBase.newStatefulSession();
-        final List foo = new ArrayList();
-        workingMemory.setGlobal( "messages",
-                                 foo );
+		final RuleBase ruleBase = getRuleBase();
+		ruleBase.addPackage(pkg);
+		final WorkingMemory workingMemory = ruleBase.newStatefulSession();
+		final List foo = new ArrayList();
+		workingMemory.setGlobal("messages", foo);
 
-        final PersonInterface p1 = new Person( null,
-                                               "food",
-                                               40 );
-        final Primitives p2 = new Primitives();
-        p2.setArrayAttribute( null );
+		final PersonInterface p1 = new Person(null, "food", 40);
+		final Primitives p2 = new Primitives();
+		p2.setArrayAttribute(null);
 
-        workingMemory.insert( p1 );
-        workingMemory.insert( p2 );
+		workingMemory.insert(p1);
+		workingMemory.insert(p2);
 
-        workingMemory.fireAllRules();
-        assertEquals( 2,
-                      foo.size() );
+		workingMemory.fireAllRules();
+		assertEquals(2, foo.size());
 
-    }
+	}
 
-    public void testImportFunctions() throws Exception {
-        final PackageBuilder builder = new PackageBuilder();
-        builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_ImportFunctions.drl" ) ) );
-        final Package pkg = builder.getPackage();
+	public void testImportFunctions() throws Exception {
+		final PackageBuilder builder = new PackageBuilder();
+		builder.addPackageFromDrl(new InputStreamReader(getClass()
+				.getResourceAsStream("test_ImportFunctions.drl")));
+		final Package pkg = builder.getPackage();
 
-        final RuleBase ruleBase = getRuleBase();
-        ruleBase.addPackage( pkg );
-        final WorkingMemory workingMemory = ruleBase.newStatefulSession();
-        final Cheese cheese = new Cheese( "stilton",
-                                          15 );
-        workingMemory.insert( cheese );
-        final List list = new ArrayList();
-        workingMemory.setGlobal( "list",
-                                 list );
-        workingMemory.fireAllRules();
+		final RuleBase ruleBase = getRuleBase();
+		ruleBase.addPackage(pkg);
+		final WorkingMemory workingMemory = ruleBase.newStatefulSession();
+		final Cheese cheese = new Cheese("stilton", 15);
+		workingMemory.insert(cheese);
+		final List list = new ArrayList();
+		workingMemory.setGlobal("list", list);
+		workingMemory.fireAllRules();
 
-        assertEquals( 4,
-                      list.size() );
+		assertEquals(4, list.size());
 
-        assertEquals( "rule1",
-                      list.get( 0 ) );
-        assertEquals( "rule2",
-                      list.get( 1 ) );
-        assertEquals( "rule3",
-                      list.get( 2 ) );
-        assertEquals( "rule4",
-                      list.get( 3 ) );
-    }
+		assertEquals("rule1", list.get(0));
+		assertEquals("rule2", list.get(1));
+		assertEquals("rule3", list.get(2));
+		assertEquals("rule4", list.get(3));
+	}
 
-    public void testBasicFrom() throws Exception {
-        final PackageBuilder builder = new PackageBuilder();
-        builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_From.drl" ) ) );
-        final Package pkg = builder.getPackage();
+	public void testBasicFrom() throws Exception {
+		final PackageBuilder builder = new PackageBuilder();
+		builder.addPackageFromDrl(new InputStreamReader(getClass()
+				.getResourceAsStream("test_From.drl")));
+		final Package pkg = builder.getPackage();
 
-        final RuleBase ruleBase = getRuleBase();
-        ruleBase.addPackage( pkg );
+		final RuleBase ruleBase = getRuleBase();
+		ruleBase.addPackage(pkg);
 
-        final WorkingMemory workingMemory = ruleBase.newStatefulSession();
-        final List list1 = new ArrayList();
-        workingMemory.setGlobal( "list1",
-                                 list1 );
-        final List list2 = new ArrayList();
-        workingMemory.setGlobal( "list2",
-                                 list2 );
-        final List list3 = new ArrayList();
-        workingMemory.setGlobal( "list3",
-                                 list3 );
+		final WorkingMemory workingMemory = ruleBase.newStatefulSession();
+		final List list1 = new ArrayList();
+		workingMemory.setGlobal("list1", list1);
+		final List list2 = new ArrayList();
+		workingMemory.setGlobal("list2", list2);
+		final List list3 = new ArrayList();
+		workingMemory.setGlobal("list3", list3);
 
-        final Cheesery cheesery = new Cheesery();
-        final Cheese stilton = new Cheese( "stilton",
-                                           12 );
-        final Cheese cheddar = new Cheese( "cheddar",
-                                           15 );
-        cheesery.addCheese( stilton );
-        cheesery.addCheese( cheddar );
-        workingMemory.setGlobal( "cheesery",
-                                 cheesery );
-        workingMemory.insert( cheesery );
+		final Cheesery cheesery = new Cheesery();
+		final Cheese stilton = new Cheese("stilton", 12);
+		final Cheese cheddar = new Cheese("cheddar", 15);
+		cheesery.addCheese(stilton);
+		cheesery.addCheese(cheddar);
+		workingMemory.setGlobal("cheesery", cheesery);
+		workingMemory.insert(cheesery);
 
-        Person p = new Person( "stilton" );
-        workingMemory.insert( p );
+		Person p = new Person("stilton");
+		workingMemory.insert(p);
 
-        workingMemory.fireAllRules();
+		workingMemory.fireAllRules();
 
-        // from using a global
-        assertEquals( 2,
-                      list1.size() );
-        assertEquals( cheddar,
-                      list1.get( 0 ) );
-        assertEquals( stilton,
-                      list1.get( 1 ) );
+		// from using a global
+		assertEquals(2, list1.size());
+		assertEquals(cheddar, list1.get(0));
+		assertEquals(stilton, list1.get(1));
 
-        // from using a declaration
-        assertEquals( 2,
-                      list2.size() );
-        assertEquals( cheddar,
-                      list2.get( 0 ) );
-        assertEquals( stilton,
-                      list2.get( 1 ) );
+		// from using a declaration
+		assertEquals(2, list2.size());
+		assertEquals(cheddar, list2.get(0));
+		assertEquals(stilton, list2.get(1));
 
-        // from using a declaration
-        assertEquals( 1,
-                      list3.size() );
-        assertEquals( stilton,
-                      list3.get( 0 ) );
-    }
+		// from using a declaration
+		assertEquals(1, list3.size());
+		assertEquals(stilton, list3.get(0));
+	}
 
-    public void testFromWithParams() throws Exception {
-        final PackageBuilder builder = new PackageBuilder();
-        builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_FromWithParams.drl" ) ) );
-        final Package pkg = builder.getPackage();
+	public void testFromWithParams() throws Exception {
+		final PackageBuilder builder = new PackageBuilder();
+		builder.addPackageFromDrl(new InputStreamReader(getClass()
+				.getResourceAsStream("test_FromWithParams.drl")));
+		final Package pkg = builder.getPackage();
 
-        final RuleBase ruleBase = getRuleBase();
-        ruleBase.addPackage( pkg );
+		final RuleBase ruleBase = getRuleBase();
+		ruleBase.addPackage(pkg);
 
-        final WorkingMemory workingMemory = ruleBase.newStatefulSession();
-        final List list = new ArrayList();
-        final Object globalObject = new Object();
-        workingMemory.setGlobal( "list",
-                                 list );
-        workingMemory.setGlobal( "testObject",
-                                 new FromTestClass() );
-        workingMemory.setGlobal( "globalObject",
-                                 globalObject );
+		final WorkingMemory workingMemory = ruleBase.newStatefulSession();
+		final List list = new ArrayList();
+		final Object globalObject = new Object();
+		workingMemory.setGlobal("list", list);
+		workingMemory.setGlobal("testObject", new FromTestClass());
+		workingMemory.setGlobal("globalObject", globalObject);
 
-        final Person bob = new Person( "bob" );
-        workingMemory.insert( bob );
+		final Person bob = new Person("bob");
+		workingMemory.insert(bob);
 
-        workingMemory.fireAllRules();
+		workingMemory.fireAllRules();
 
-        assertEquals( 6,
-                      list.size() );
+		assertEquals(6, list.size());
 
-        final List array = (List) list.get( 0 );
-        assertEquals( 3,
-                      array.size() );
-        final Person p = (Person) array.get( 0 );
-        assertSame( p,
-                    bob );
+		final List array = (List) list.get(0);
+		assertEquals(3, array.size());
+		final Person p = (Person) array.get(0);
+		assertSame(p, bob);
 
-        assertEquals( new Integer( 42 ),
-                      array.get( 1 ) );
+		assertEquals(new Integer(42), array.get(1));
 
-        final List nested = (List) array.get( 2 );
-        assertEquals( "x",
-                      nested.get( 0 ) );
-        assertEquals( "y",
-                      nested.get( 1 ) );
+		final List nested = (List) array.get(2);
+		assertEquals("x", nested.get(0));
+		assertEquals("y", nested.get(1));
 
-        final Map map = (Map) list.get( 1 );
-        assertEquals( 2,
-                      map.keySet().size() );
+		final Map map = (Map) list.get(1);
+		assertEquals(2, map.keySet().size());
 
-        assertTrue( map.keySet().contains( bob ) );
-        assertSame( globalObject,
-                    map.get( bob ) );
+		assertTrue(map.keySet().contains(bob));
+		assertSame(globalObject, map.get(bob));
 
-        assertTrue( map.keySet().contains( "key1" ) );
-        final Map nestedMap = (Map) map.get( "key1" );
-        assertEquals( 1,
-                      nestedMap.keySet().size() );
-        assertTrue( nestedMap.keySet().contains( "key2" ) );
-        assertEquals( "value2",
-                      nestedMap.get( "key2" ) );
+		assertTrue(map.keySet().contains("key1"));
+		final Map nestedMap = (Map) map.get("key1");
+		assertEquals(1, nestedMap.keySet().size());
+		assertTrue(nestedMap.keySet().contains("key2"));
+		assertEquals("value2", nestedMap.get("key2"));
 
-        assertEquals( new Integer( 42 ),
-                      list.get( 2 ) );
-        assertEquals( "literal",
-                      list.get( 3 ) );
-        assertSame( bob,
-                    list.get( 4 ) );
-        assertSame( globalObject,
-                    list.get( 5 ) );
-    }
+		assertEquals(new Integer(42), list.get(2));
+		assertEquals("literal", list.get(3));
+		assertSame(bob, list.get(4));
+		assertSame(globalObject, list.get(5));
+	}
 
-    public void testFromWithNewConstructor() throws Exception {
-        DrlParser parser = new DrlParser();
-        PackageDescr descr = parser.parse( new InputStreamReader( getClass().getResourceAsStream( "test_FromWithNewConstructor.drl" ) ) );
-        PackageBuilder builder = new PackageBuilder();
-        builder.addPackage( descr );
-        Package pkg = builder.getPackage();
-        pkg.checkValidity();
-    }
+	public void testFromWithNewConstructor() throws Exception {
+		DrlParser parser = new DrlParser();
+		PackageDescr descr = parser.parse(new InputStreamReader(getClass()
+				.getResourceAsStream("test_FromWithNewConstructor.drl")));
+		PackageBuilder builder = new PackageBuilder();
+		builder.addPackage(descr);
+		Package pkg = builder.getPackage();
+		pkg.checkValidity();
+	}
 
-    public void testWithInvalidRule() throws Exception {
-        final PackageBuilder builder = new PackageBuilder();
-        builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "invalid_rule.drl" ) ) );
-        final Package pkg = builder.getPackage();
-        // Mark: please check if the conseqeuence/should/shouldn't be built
-        // Rule badBoy = pkg.getRules()[0];
-        // assertFalse(badBoy.isValid());
+	public void testWithInvalidRule() throws Exception {
+		final PackageBuilder builder = new PackageBuilder();
+		builder.addPackageFromDrl(new InputStreamReader(getClass()
+				.getResourceAsStream("invalid_rule.drl")));
+		final Package pkg = builder.getPackage();
+		// Mark: please check if the conseqeuence/should/shouldn't be built
+		// Rule badBoy = pkg.getRules()[0];
+		// assertFalse(badBoy.isValid());
 
-        RuntimeException runtime = null;
-        // this should ralph all over the place.
-        final RuleBase ruleBase = getRuleBase();
-        try {
-            ruleBase.addPackage( pkg );
-            fail( "Should have thrown an exception as the rule is NOT VALID." );
-        } catch ( final RuntimeException e ) {
-            assertNotNull( e.getMessage() );
-            runtime = e;
-        }
-        assertTrue( builder.getErrors().getErrors().length > 0 );
+		RuntimeException runtime = null;
+		// this should ralph all over the place.
+		final RuleBase ruleBase = getRuleBase();
+		try {
+			ruleBase.addPackage(pkg);
+			fail("Should have thrown an exception as the rule is NOT VALID.");
+		} catch (final RuntimeException e) {
+			assertNotNull(e.getMessage());
+			runtime = e;
+		}
+		assertTrue(builder.getErrors().getErrors().length > 0);
 
-        final String pretty = builder.getErrors().toString();
-        assertFalse( pretty.equals( "" ) );
-        assertEquals( pretty,
-                      runtime.getMessage() );
+		final String pretty = builder.getErrors().toString();
+		assertFalse(pretty.equals(""));
+		assertEquals(pretty, runtime.getMessage());
 
-    }
+	}
 
-    public void testErrorLineNumbers() throws Exception {
-        // this test aims to test semantic errors
-        // parser errors are another test case
-        final PackageBuilder builder = new PackageBuilder();
-        builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "errors_in_rule.drl" ) ) );
-        final Package pkg = builder.getPackage();
+	public void testErrorLineNumbers() throws Exception {
+		// this test aims to test semantic errors
+		// parser errors are another test case
+		final PackageBuilder builder = new PackageBuilder();
+		builder.addPackageFromDrl(new InputStreamReader(getClass()
+				.getResourceAsStream("errors_in_rule.drl")));
+		final Package pkg = builder.getPackage();
 
-        final DroolsError err = builder.getErrors().getErrors()[0];
-        final RuleError ruleErr = (RuleError) err;
-        assertNotNull( ruleErr.getDescr() );
-        assertTrue( ruleErr.getLine() != -1 );
+		final DroolsError err = builder.getErrors().getErrors()[0];
+		final RuleError ruleErr = (RuleError) err;
+		assertNotNull(ruleErr.getDescr());
+		assertTrue(ruleErr.getLine() != -1);
 
-        final DroolsError errs[] = builder.getErrors().getErrors();
+		final DroolsError errs[] = builder.getErrors().getErrors();
 
-        assertEquals( 3,
-                      builder.getErrors().getErrors().length );
+		assertEquals(3, builder.getErrors().getErrors().length);
 
-        // check that its getting it from the ruleDescr
-        assertEquals( ruleErr.getLine(),
-                      ruleErr.getDescr().getLine() );
-        // check the absolute error line number (there are more).
-        assertEquals( 11,
-                      ruleErr.getLine() );
+		// check that its getting it from the ruleDescr
+		assertEquals(ruleErr.getLine(), ruleErr.getDescr().getLine());
+		// check the absolute error line number (there are more).
+		assertEquals(11, ruleErr.getLine());
 
-        // now check the RHS, not being too specific yet, as long as it has the
-        // rules line number, not zero
-        final RuleError rhs = (RuleError) builder.getErrors().getErrors()[2];
-        assertTrue( rhs.getLine() > 7 ); // not being too specific - may need to
-        // change this when we rework the error
-        // reporting
+		// now check the RHS, not being too specific yet, as long as it has the
+		// rules line number, not zero
+		final RuleError rhs = (RuleError) builder.getErrors().getErrors()[2];
+		assertTrue(rhs.getLine() > 7); // not being too specific - may need to
+		// change this when we rework the error
+		// reporting
 
-    }
+	}
 
-    public void testErrorsParser() throws Exception {
-        final DrlParser parser = new DrlParser();
-        assertEquals( 0,
-                      parser.getErrors().size() );
-        parser.parse( new InputStreamReader( getClass().getResourceAsStream( "errors_parser_multiple.drl" ) ) );
-        assertTrue( parser.hasErrors() );
-        assertTrue( parser.getErrors().size() > 0 );
-        assertTrue( parser.getErrors().get( 0 ) instanceof ParserError );
-        final ParserError first = ((ParserError) parser.getErrors().get( 0 ));
-        assertTrue( first.getMessage() != null );
-        assertFalse( first.getMessage().equals( "" ) );
-    }
+	public void testErrorsParser() throws Exception {
+		final DrlParser parser = new DrlParser();
+		assertEquals(0, parser.getErrors().size());
+		parser.parse(new InputStreamReader(getClass().getResourceAsStream(
+				"errors_parser_multiple.drl")));
+		assertTrue(parser.hasErrors());
+		assertTrue(parser.getErrors().size() > 0);
+		assertTrue(parser.getErrors().get(0) instanceof ParserError);
+		final ParserError first = ((ParserError) parser.getErrors().get(0));
+		assertTrue(first.getMessage() != null);
+		assertFalse(first.getMessage().equals(""));
+	}
 
-    public void testFunction() throws Exception {
-        final PackageBuilder builder = new PackageBuilder();
-        builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_FunctionInConsequence.drl" ) ) );
-        final Package pkg = builder.getPackage();
+	public void testFunction() throws Exception {
+		final PackageBuilder builder = new PackageBuilder();
+		builder.addPackageFromDrl(new InputStreamReader(getClass()
+				.getResourceAsStream("test_FunctionInConsequence.drl")));
+		final Package pkg = builder.getPackage();
 
-        final RuleBase ruleBase = getRuleBase();
-        ruleBase.addPackage( pkg );
-        final WorkingMemory workingMemory = ruleBase.newStatefulSession();
+		final RuleBase ruleBase = getRuleBase();
+		ruleBase.addPackage(pkg);
+		final WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
-        final List list = new ArrayList();
-        workingMemory.setGlobal( "list",
-                                 list );
+		final List list = new ArrayList();
+		workingMemory.setGlobal("list", list);
 
-        final Cheese stilton = new Cheese( "stilton",
-                                           5 );
-        workingMemory.insert( stilton );
+		final Cheese stilton = new Cheese("stilton", 5);
+		workingMemory.insert(stilton);
 
-        workingMemory.fireAllRules();
+		workingMemory.fireAllRules();
 
-        assertEquals( new Integer( 5 ),
-                      list.get( 0 ) );
-    }
+		assertEquals(new Integer(5), list.get(0));
+	}
 
-    public void testAssertRetract() throws Exception {
-        // postponed while I sort out KnowledgeHelperFixer
-        final PackageBuilder builder = new PackageBuilder();
-        builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "assert_retract.drl" ) ) );
-        final Package pkg = builder.getPackage();
+	public void testAssertRetract() throws Exception {
+		// postponed while I sort out KnowledgeHelperFixer
+		final PackageBuilder builder = new PackageBuilder();
+		builder.addPackageFromDrl(new InputStreamReader(getClass()
+				.getResourceAsStream("assert_retract.drl")));
+		final Package pkg = builder.getPackage();
 
-        final RuleBase ruleBase = getRuleBase();
-        ruleBase.addPackage( pkg );
-        final WorkingMemory workingMemory = ruleBase.newStatefulSession();
+		final RuleBase ruleBase = getRuleBase();
+		ruleBase.addPackage(pkg);
+		final WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
-        final List list = new ArrayList();
-        workingMemory.setGlobal( "list",
-                                 list );
+		final List list = new ArrayList();
+		workingMemory.setGlobal("list", list);
 
-        final PersonInterface person = new Person( "michael",
-                                                   "cheese" );
-        person.setStatus( "start" );
-        workingMemory.insert( person );
-        workingMemory.fireAllRules();
+		final PersonInterface person = new Person("michael", "cheese");
+		person.setStatus("start");
+		workingMemory.insert(person);
+		workingMemory.fireAllRules();
 
-        assertEquals( 5,
-                      list.size() );
-        assertTrue( list.contains( "first" ) );
-        assertTrue( list.contains( "second" ) );
-        assertTrue( list.contains( "third" ) );
-        assertTrue( list.contains( "fourth" ) );
-        assertTrue( list.contains( "fifth" ) );
+		assertEquals(5, list.size());
+		assertTrue(list.contains("first"));
+		assertTrue(list.contains("second"));
+		assertTrue(list.contains("third"));
+		assertTrue(list.contains("fourth"));
+		assertTrue(list.contains("fifth"));
 
-    }
+	}
 
-    public void testPredicateAsFirstPattern() throws Exception {
-        final PackageBuilder builder = new PackageBuilder();
-        builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "predicate_as_first_pattern.drl" ) ) );
-        final Package pkg = builder.getPackage();
+	public void testPredicateAsFirstPattern() throws Exception {
+		final PackageBuilder builder = new PackageBuilder();
+		builder.addPackageFromDrl(new InputStreamReader(getClass()
+				.getResourceAsStream("predicate_as_first_pattern.drl")));
+		final Package pkg = builder.getPackage();
 
-        final RuleBase ruleBase = getRuleBase();
-        ruleBase.addPackage( pkg );
-        final WorkingMemory workingMemory = ruleBase.newStatefulSession();
+		final RuleBase ruleBase = getRuleBase();
+		ruleBase.addPackage(pkg);
+		final WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
-        final Cheese mussarela = new Cheese( "Mussarela",
-                                             35 );
-        workingMemory.insert( mussarela );
-        final Cheese provolone = new Cheese( "Provolone",
-                                             20 );
-        workingMemory.insert( provolone );
+		final Cheese mussarela = new Cheese("Mussarela", 35);
+		workingMemory.insert(mussarela);
+		final Cheese provolone = new Cheese("Provolone", 20);
+		workingMemory.insert(provolone);
 
-        workingMemory.fireAllRules();
+		workingMemory.fireAllRules();
 
-        Assert.assertEquals( "The rule is being incorrectly fired",
-                             35,
-                             mussarela.getPrice() );
-        Assert.assertEquals( "Rule is incorrectly being fired",
-                             20,
-                             provolone.getPrice() );
-    }
+		Assert.assertEquals("The rule is being incorrectly fired", 35,
+				mussarela.getPrice());
+		Assert.assertEquals("Rule is incorrectly being fired", 20, provolone
+				.getPrice());
+	}
 
-    public void testConsequenceException() throws Exception {
-        final PackageBuilder builder = new PackageBuilder();
-        builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_ConsequenceException.drl" ) ) );
-        final Package pkg = builder.getPackage();
+	public void testConsequenceException() throws Exception {
+		final PackageBuilder builder = new PackageBuilder();
+		builder.addPackageFromDrl(new InputStreamReader(getClass()
+				.getResourceAsStream("test_ConsequenceException.drl")));
+		final Package pkg = builder.getPackage();
 
-        final RuleBase ruleBase = getRuleBase();
-        ruleBase.addPackage( pkg );
-        final WorkingMemory workingMemory = ruleBase.newStatefulSession();
+		final RuleBase ruleBase = getRuleBase();
+		ruleBase.addPackage(pkg);
+		final WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
-        final Cheese brie = new Cheese( "brie",
-                                        12 );
-        workingMemory.insert( brie );
+		final Cheese brie = new Cheese("brie", 12);
+		workingMemory.insert(brie);
 
-        try {
-            workingMemory.fireAllRules();
-            fail( "Should throw an Exception from the Consequence" );
-        } catch ( final Exception e ) {
-            assertEquals( "this should throw an exception",
-                          e.getCause().getMessage() );
-        }
-    }
+		try {
+			workingMemory.fireAllRules();
+			fail("Should throw an Exception from the Consequence");
+		} catch (final Exception e) {
+			assertEquals("this should throw an exception", e.getCause()
+					.getMessage());
+		}
+	}
 
-    public void testCustomConsequenceException() throws Exception {
-        final PackageBuilder builder = new PackageBuilder();
-        builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_ConsequenceException.drl" ) ) );
-        final Package pkg = builder.getPackage();
+	public void testCustomConsequenceException() throws Exception {
+		final PackageBuilder builder = new PackageBuilder();
+		builder.addPackageFromDrl(new InputStreamReader(getClass()
+				.getResourceAsStream("test_ConsequenceException.drl")));
+		final Package pkg = builder.getPackage();
 
-        RuleBaseConfiguration conf = new RuleBaseConfiguration();
-        CustomConsequenceExceptionHandler handler = new CustomConsequenceExceptionHandler();
-        conf.setConsequenceExceptionHandler( handler );
+		RuleBaseConfiguration conf = new RuleBaseConfiguration();
+		CustomConsequenceExceptionHandler handler = new CustomConsequenceExceptionHandler();
+		conf.setConsequenceExceptionHandler(handler);
 
-        final RuleBase ruleBase = getRuleBase( conf );
-        ruleBase.addPackage( pkg );
-        final WorkingMemory workingMemory = ruleBase.newStatefulSession();
+		final RuleBase ruleBase = getRuleBase(conf);
+		ruleBase.addPackage(pkg);
+		final WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
-        final Cheese brie = new Cheese( "brie",
-                                        12 );
-        workingMemory.insert( brie );
+		final Cheese brie = new Cheese("brie", 12);
+		workingMemory.insert(brie);
 
-        workingMemory.fireAllRules();
+		workingMemory.fireAllRules();
 
-        assertTrue( handler.isCalled() );
-    }
+		assertTrue(handler.isCalled());
+	}
 
-    public static class CustomConsequenceExceptionHandler
-        implements
-        ConsequenceExceptionHandler {
+	public static class CustomConsequenceExceptionHandler implements
+			ConsequenceExceptionHandler {
 
-        private boolean called;
+		private boolean called;
 
-        public void handleException(Activation activation,
-                                    WorkingMemory workingMemory,
-                                    Exception exception) {
-            this.called = true;
-        }
+		public void handleException(Activation activation,
+				WorkingMemory workingMemory, Exception exception) {
+			this.called = true;
+		}
 
-        public boolean isCalled() {
-            return this.called;
-        }
+		public boolean isCalled() {
+			return this.called;
+		}
 
-    }
+	}
 
-    public void testFunctionException() throws Exception {
-        final PackageBuilder builder = new PackageBuilder();
-        builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_FunctionException.drl" ) ) );
-        final Package pkg = builder.getPackage();
+	public void testFunctionException() throws Exception {
+		final PackageBuilder builder = new PackageBuilder();
+		builder.addPackageFromDrl(new InputStreamReader(getClass()
+				.getResourceAsStream("test_FunctionException.drl")));
+		final Package pkg = builder.getPackage();
 
-        final RuleBase ruleBase = getRuleBase();
-        ruleBase.addPackage( pkg );
-        final WorkingMemory workingMemory = ruleBase.newStatefulSession();
+		final RuleBase ruleBase = getRuleBase();
+		ruleBase.addPackage(pkg);
+		final WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
-        final Cheese brie = new Cheese( "brie",
-                                        12 );
-        workingMemory.insert( brie );
+		final Cheese brie = new Cheese("brie", 12);
+		workingMemory.insert(brie);
 
-        try {
-            workingMemory.fireAllRules();
-            fail( "Should throw an Exception from the Function" );
-        } catch ( final Exception e ) {
-            assertEquals( "this should throw an exception",
-                          e.getCause().getMessage() );
-        }
-    }
+		try {
+			workingMemory.fireAllRules();
+			fail("Should throw an Exception from the Function");
+		} catch (final Exception e) {
+			assertEquals("this should throw an exception", e.getCause()
+					.getMessage());
+		}
+	}
 
-    public void testEvalException() throws Exception {
-        final PackageBuilder builder = new PackageBuilder();
-        builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_EvalException.drl" ) ) );
-        final Package pkg = builder.getPackage();
+	public void testEvalException() throws Exception {
+		final PackageBuilder builder = new PackageBuilder();
+		builder.addPackageFromDrl(new InputStreamReader(getClass()
+				.getResourceAsStream("test_EvalException.drl")));
+		final Package pkg = builder.getPackage();
 
-        final RuleBase ruleBase = getRuleBase();
-        ruleBase.addPackage( pkg );
-        final WorkingMemory workingMemory = ruleBase.newStatefulSession();
+		final RuleBase ruleBase = getRuleBase();
+		ruleBase.addPackage(pkg);
+		final WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
-        final Cheese brie = new Cheese( "brie",
-                                        12 );
+		final Cheese brie = new Cheese("brie", 12);
 
-        try {
-            workingMemory.insert( brie );
-            workingMemory.fireAllRules();
-            fail( "Should throw an Exception from the Eval" );
-        } catch ( final Exception e ) {
-            assertEquals( "this should throw an exception",
-                          e.getCause().getMessage() );
-        }
-    }
+		try {
+			workingMemory.insert(brie);
+			workingMemory.fireAllRules();
+			fail("Should throw an Exception from the Eval");
+		} catch (final Exception e) {
+			assertEquals("this should throw an exception", e.getCause()
+					.getMessage());
+		}
+	}
 
-    public void testPredicateException() throws Exception {
-        final PackageBuilder builder = new PackageBuilder();
-        builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_PredicateException.drl" ) ) );
-        final Package pkg = builder.getPackage();
+	public void testPredicateException() throws Exception {
+		final PackageBuilder builder = new PackageBuilder();
+		builder.addPackageFromDrl(new InputStreamReader(getClass()
+				.getResourceAsStream("test_PredicateException.drl")));
+		final Package pkg = builder.getPackage();
 
-        final RuleBase ruleBase = getRuleBase();
-        ruleBase.addPackage( pkg );
-        final WorkingMemory workingMemory = ruleBase.newStatefulSession();
+		final RuleBase ruleBase = getRuleBase();
+		ruleBase.addPackage(pkg);
+		final WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
-        final Cheese brie = new Cheese( "brie",
-                                        12 );
+		final Cheese brie = new Cheese("brie", 12);
 
-        try {
-            workingMemory.insert( brie );
-            workingMemory.fireAllRules();
-            fail( "Should throw an Exception from the Predicate" );
-        } catch ( final Exception e ) {
-            assertEquals( "this should throw an exception",
-                          e.getCause().getMessage() );
-        }
-    }
+		try {
+			workingMemory.insert(brie);
+			workingMemory.fireAllRules();
+			fail("Should throw an Exception from the Predicate");
+		} catch (final Exception e) {
+			assertEquals("this should throw an exception", e.getCause()
+					.getMessage());
+		}
+	}
 
-    public void testReturnValueException() throws Exception {
-        final PackageBuilder builder = new PackageBuilder();
-        builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_ReturnValueException.drl" ) ) );
-        final Package pkg = builder.getPackage();
+	public void testReturnValueException() throws Exception {
+		final PackageBuilder builder = new PackageBuilder();
+		builder.addPackageFromDrl(new InputStreamReader(getClass()
+				.getResourceAsStream("test_ReturnValueException.drl")));
+		final Package pkg = builder.getPackage();
 
-        final RuleBase ruleBase = getRuleBase();
-        ruleBase.addPackage( pkg );
-        final WorkingMemory workingMemory = ruleBase.newStatefulSession();
+		final RuleBase ruleBase = getRuleBase();
+		ruleBase.addPackage(pkg);
+		final WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
-        final Cheese brie = new Cheese( "brie",
-                                        12 );
+		final Cheese brie = new Cheese("brie", 12);
 
-        try {
-            workingMemory.insert( brie );
-            workingMemory.fireAllRules();
-            fail( "Should throw an Exception from the ReturnValue" );
-        } catch ( final Exception e ) {
-            assertTrue( e.getCause().getMessage().endsWith( "this should throw an exception" ) );
-        }
-    }
+		try {
+			workingMemory.insert(brie);
+			workingMemory.fireAllRules();
+			fail("Should throw an Exception from the ReturnValue");
+		} catch (final Exception e) {
+			assertTrue(e.getCause().getMessage().endsWith(
+					"this should throw an exception"));
+		}
+	}
 
-    public void testMultiRestrictionFieldConstraint() throws Exception {
-        final PackageBuilder builder = new PackageBuilder();
-        builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_MultiRestrictionFieldConstraint.drl" ) ) );
-        final Package pkg = builder.getPackage();
+	public void testMultiRestrictionFieldConstraint() throws Exception {
+		final PackageBuilder builder = new PackageBuilder();
+		builder.addPackageFromDrl(new InputStreamReader(
+				getClass().getResourceAsStream(
+						"test_MultiRestrictionFieldConstraint.drl")));
+		final Package pkg = builder.getPackage();
 
-        final RuleBase ruleBase = getRuleBase();
-        ruleBase.addPackage( pkg );
-        final WorkingMemory workingMemory = ruleBase.newStatefulSession();
+		final RuleBase ruleBase = getRuleBase();
+		ruleBase.addPackage(pkg);
+		final WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
-        final List list1 = new ArrayList();
-        workingMemory.setGlobal( "list1",
-                                 list1 );
-        final List list2 = new ArrayList();
-        workingMemory.setGlobal( "list2",
-                                 list2 );
-        final List list3 = new ArrayList();
-        workingMemory.setGlobal( "list3",
-                                 list3 );
-        final List list4 = new ArrayList();
-        workingMemory.setGlobal( "list4",
-                                 list4 );
+		final List list1 = new ArrayList();
+		workingMemory.setGlobal("list1", list1);
+		final List list2 = new ArrayList();
+		workingMemory.setGlobal("list2", list2);
+		final List list3 = new ArrayList();
+		workingMemory.setGlobal("list3", list3);
+		final List list4 = new ArrayList();
+		workingMemory.setGlobal("list4", list4);
 
-        final Person youngChili1 = new Person( "young chili1" );
-        youngChili1.setAge( 12 );
-        youngChili1.setHair( "blue" );
-        final Person youngChili2 = new Person( "young chili2" );
-        youngChili2.setAge( 25 );
-        youngChili2.setHair( "purple" );
+		final Person youngChili1 = new Person("young chili1");
+		youngChili1.setAge(12);
+		youngChili1.setHair("blue");
+		final Person youngChili2 = new Person("young chili2");
+		youngChili2.setAge(25);
+		youngChili2.setHair("purple");
 
-        final Person chili1 = new Person( "chili1" );
-        chili1.setAge( 35 );
-        chili1.setHair( "red" );
+		final Person chili1 = new Person("chili1");
+		chili1.setAge(35);
+		chili1.setHair("red");
 
-        final Person chili2 = new Person( "chili2" );
-        chili2.setAge( 38 );
-        chili2.setHair( "indigigo" );
+		final Person chili2 = new Person("chili2");
+		chili2.setAge(38);
+		chili2.setHair("indigigo");
 
-        final Person oldChili1 = new Person( "old chili2" );
-        oldChili1.setAge( 45 );
-        oldChili1.setHair( "green" );
+		final Person oldChili1 = new Person("old chili2");
+		oldChili1.setAge(45);
+		oldChili1.setHair("green");
 
-        final Person oldChili2 = new Person( "old chili2" );
-        oldChili2.setAge( 48 );
-        oldChili2.setHair( "blue" );
+		final Person oldChili2 = new Person("old chili2");
+		oldChili2.setAge(48);
+		oldChili2.setHair("blue");
 
-        workingMemory.insert( youngChili1 );
-        workingMemory.insert( youngChili2 );
-        workingMemory.insert( chili1 );
-        workingMemory.insert( chili2 );
-        workingMemory.insert( oldChili1 );
-        workingMemory.insert( oldChili2 );
+		workingMemory.insert(youngChili1);
+		workingMemory.insert(youngChili2);
+		workingMemory.insert(chili1);
+		workingMemory.insert(chili2);
+		workingMemory.insert(oldChili1);
+		workingMemory.insert(oldChili2);
 
-        workingMemory.fireAllRules();
+		workingMemory.fireAllRules();
 
-        assertEquals( 1,
-                      list1.size() );
-        assertTrue( list1.contains( chili1 ) );
+		assertEquals(1, list1.size());
+		assertTrue(list1.contains(chili1));
 
-        assertEquals( 2,
-                      list2.size() );
-        assertTrue( list2.contains( chili1 ) );
-        assertTrue( list2.contains( chili2 ) );
+		assertEquals(2, list2.size());
+		assertTrue(list2.contains(chili1));
+		assertTrue(list2.contains(chili2));
 
-        assertEquals( 2,
-                      list3.size() );
-        assertTrue( list3.contains( youngChili1 ) );
-        assertTrue( list3.contains( youngChili2 ) );
+		assertEquals(2, list3.size());
+		assertTrue(list3.contains(youngChili1));
+		assertTrue(list3.contains(youngChili2));
 
-        assertEquals( 2,
-                      list4.size() );
-        assertTrue( list4.contains( youngChili1 ) );
-        assertTrue( list4.contains( chili1 ) );
-    }
+		assertEquals(2, list4.size());
+		assertTrue(list4.contains(youngChili1));
+		assertTrue(list4.contains(chili1));
+	}
 
-    public void testDumpers() throws Exception {
-        final DrlParser parser = new DrlParser();
-        final PackageDescr pkg = parser.parse( new InputStreamReader( getClass().getResourceAsStream( "test_Dumpers.drl" ) ) );
+	public void testDumpers() throws Exception {
+		final DrlParser parser = new DrlParser();
+		final PackageDescr pkg = parser.parse(new InputStreamReader(getClass()
+				.getResourceAsStream("test_Dumpers.drl")));
 
-        PackageBuilder builder = new PackageBuilder();
-        builder.addPackage( pkg );
+		PackageBuilder builder = new PackageBuilder();
+		builder.addPackage(pkg);
 
-        RuleBase ruleBase = getRuleBase();
-        ruleBase.addPackage( builder.getPackage() );
-        WorkingMemory workingMemory = ruleBase.newStatefulSession();
+		RuleBase ruleBase = getRuleBase();
+		ruleBase.addPackage(builder.getPackage());
+		WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
-        List list = new ArrayList();
-        workingMemory.setGlobal( "list",
-                                 list );
+		List list = new ArrayList();
+		workingMemory.setGlobal("list", list);
 
-        final Cheese brie = new Cheese( "brie",
-                                        12 );
-        workingMemory.insert( brie );
+		final Cheese brie = new Cheese("brie", 12);
+		workingMemory.insert(brie);
 
-        workingMemory.fireAllRules();
+		workingMemory.fireAllRules();
 
-        assertEquals( 3,
-                      list.size() );
-        assertEquals( "3 1",
-                      list.get( 0 ) );
-        assertEquals( "MAIN",
-                      list.get( 1 ) );
-        assertEquals( "1 1",
-                      list.get( 2 ) );
+		assertEquals(3, list.size());
+		assertEquals("3 1", list.get(0));
+		assertEquals("MAIN", list.get(1));
+		assertEquals("1 1", list.get(2));
 
-        final DrlDumper drlDumper = new DrlDumper();
-        final String drlResult = drlDumper.dump( pkg );
-        builder = new PackageBuilder();
-        builder.addPackageFromDrl( new StringReader( drlResult ) );
+		final DrlDumper drlDumper = new DrlDumper();
+		final String drlResult = drlDumper.dump(pkg);
+		builder = new PackageBuilder();
+		builder.addPackageFromDrl(new StringReader(drlResult));
 
-        ruleBase = getRuleBase();
-        ruleBase.addPackage( builder.getPackage() );
-        workingMemory = ruleBase.newStatefulSession();
+		ruleBase = getRuleBase();
+		ruleBase.addPackage(builder.getPackage());
+		workingMemory = ruleBase.newStatefulSession();
 
-        list = new ArrayList();
-        workingMemory.setGlobal( "list",
-                                 list );
+		list = new ArrayList();
+		workingMemory.setGlobal("list", list);
 
-        workingMemory.insert( brie );
+		workingMemory.insert(brie);
 
-        workingMemory.fireAllRules();
+		workingMemory.fireAllRules();
 
-        assertEquals( 3,
-                      list.size() );
-        assertEquals( "3 1",
-                      list.get( 0 ) );
-        assertEquals( "MAIN",
-                      list.get( 1 ) );
-        assertEquals( "1 1",
-                      list.get( 2 ) );
+		assertEquals(3, list.size());
+		assertEquals("3 1", list.get(0));
+		assertEquals("MAIN", list.get(1));
+		assertEquals("1 1", list.get(2));
 
-        final XmlDumper xmlDumper = new XmlDumper();
-        final String xmlResult = xmlDumper.dump( pkg );
+		final XmlDumper xmlDumper = new XmlDumper();
+		final String xmlResult = xmlDumper.dump(pkg);
 
-        // System.out.println( xmlResult );
+		// System.out.println( xmlResult );
 
-        builder = new PackageBuilder();
-        builder.addPackageFromXml( new StringReader( xmlResult ) );
+		builder = new PackageBuilder();
+		builder.addPackageFromXml(new StringReader(xmlResult));
 
-        ruleBase = getRuleBase();
-        ruleBase.addPackage( builder.getPackage() );
-        workingMemory = ruleBase.newStatefulSession();
+		ruleBase = getRuleBase();
+		ruleBase.addPackage(builder.getPackage());
+		workingMemory = ruleBase.newStatefulSession();
 
-        list = new ArrayList();
-        workingMemory.setGlobal( "list",
-                                 list );
+		list = new ArrayList();
+		workingMemory.setGlobal("list", list);
 
-        workingMemory.insert( brie );
+		workingMemory.insert(brie);
 
-        workingMemory.fireAllRules();
+		workingMemory.fireAllRules();
 
-        assertEquals( 3,
-                      list.size() );
-        assertEquals( "3 1",
-                      list.get( 0 ) );
-        assertEquals( "MAIN",
-                      list.get( 1 ) );
-        assertEquals( "1 1",
-                      list.get( 2 ) );
-    }
+		assertEquals(3, list.size());
+		assertEquals("3 1", list.get(0));
+		assertEquals("MAIN", list.get(1));
+		assertEquals("1 1", list.get(2));
+	}
 
-    public void testContainsCheese() throws Exception {
-        final PackageBuilder builder = new PackageBuilder();
-        builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_ContainsCheese.drl" ) ) );
-        final Package pkg = builder.getPackage();
+	public void testContainsCheese() throws Exception {
+		final PackageBuilder builder = new PackageBuilder();
+		builder.addPackageFromDrl(new InputStreamReader(getClass()
+				.getResourceAsStream("test_ContainsCheese.drl")));
+		final Package pkg = builder.getPackage();
 
-        final RuleBase ruleBase = getRuleBase();
-        ruleBase.addPackage( pkg );
-        final WorkingMemory workingMemory = ruleBase.newStatefulSession();
+		final RuleBase ruleBase = getRuleBase();
+		ruleBase.addPackage(pkg);
+		final WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
-        final List list = new ArrayList();
-        workingMemory.setGlobal( "list",
-                                 list );
+		final List list = new ArrayList();
+		workingMemory.setGlobal("list", list);
 
-        final Cheese stilton = new Cheese( "stilton",
-                                           12 );
-        workingMemory.insert( stilton );
-        final Cheese brie = new Cheese( "brie",
-                                        10 );
-        workingMemory.insert( brie );
+		final Cheese stilton = new Cheese("stilton", 12);
+		workingMemory.insert(stilton);
+		final Cheese brie = new Cheese("brie", 10);
+		workingMemory.insert(brie);
 
-        final Cheesery cheesery = new Cheesery();
-        cheesery.getCheeses().add( stilton );
-        workingMemory.insert( cheesery );
+		final Cheesery cheesery = new Cheesery();
+		cheesery.getCheeses().add(stilton);
+		workingMemory.insert(cheesery);
 
-        workingMemory.fireAllRules();
+		workingMemory.fireAllRules();
 
-        assertEquals( 2,
-                      list.size() );
+		assertEquals(2, list.size());
 
-        assertEquals( stilton,
-                      list.get( 0 ) );
-        assertEquals( brie,
-                      list.get( 1 ) );
-    }
+		assertEquals(stilton, list.get(0));
+		assertEquals(brie, list.get(1));
+	}
 
-    public void testStaticFieldReference() throws Exception {
-        final PackageBuilder builder = new PackageBuilder();
-        builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_StaticField.drl" ) ) );
-        final Package pkg = builder.getPackage();
+	public void testStaticFieldReference() throws Exception {
+		final PackageBuilder builder = new PackageBuilder();
+		builder.addPackageFromDrl(new InputStreamReader(getClass()
+				.getResourceAsStream("test_StaticField.drl")));
+		final Package pkg = builder.getPackage();
 
-        final RuleBase ruleBase = getRuleBase();
-        ruleBase.addPackage( pkg );
-        final WorkingMemory workingMemory = ruleBase.newStatefulSession();
+		final RuleBase ruleBase = getRuleBase();
+		ruleBase.addPackage(pkg);
+		final WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
-        final List list = new ArrayList();
-        workingMemory.setGlobal( "list",
-                                 list );
+		final List list = new ArrayList();
+		workingMemory.setGlobal("list", list);
 
-        final Cheesery cheesery1 = new Cheesery();
-        cheesery1.setStatus( Cheesery.SELLING_CHEESE );
-        cheesery1.setMaturity( Maturity.OLD );
-        workingMemory.insert( cheesery1 );
+		final Cheesery cheesery1 = new Cheesery();
+		cheesery1.setStatus(Cheesery.SELLING_CHEESE);
+		cheesery1.setMaturity(Maturity.OLD);
+		workingMemory.insert(cheesery1);
 
-        final Cheesery cheesery2 = new Cheesery();
-        cheesery2.setStatus( Cheesery.MAKING_CHEESE );
-        cheesery2.setMaturity( Maturity.YOUNG );
-        workingMemory.insert( cheesery2 );
+		final Cheesery cheesery2 = new Cheesery();
+		cheesery2.setStatus(Cheesery.MAKING_CHEESE);
+		cheesery2.setMaturity(Maturity.YOUNG);
+		workingMemory.insert(cheesery2);
 
-        workingMemory.fireAllRules();
+		workingMemory.fireAllRules();
 
-        assertEquals( 2,
-                      list.size() );
+		assertEquals(2, list.size());
 
-        assertEquals( cheesery1,
-                      list.get( 0 ) );
-        assertEquals( cheesery2,
-                      list.get( 1 ) );
-    }
+		assertEquals(cheesery1, list.get(0));
+		assertEquals(cheesery2, list.get(1));
+	}
 
-    public void testDuplicateRuleNames() throws Exception {
-        PackageBuilder builder = new PackageBuilder();
-        builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_DuplicateRuleName1.drl" ) ) );
+	public void testDuplicateRuleNames() throws Exception {
+		PackageBuilder builder = new PackageBuilder();
+		builder.addPackageFromDrl(new InputStreamReader(getClass()
+				.getResourceAsStream("test_DuplicateRuleName1.drl")));
 
-        final RuleBase ruleBase = getRuleBase();
-        ruleBase.addPackage( builder.getPackage() );
+		final RuleBase ruleBase = getRuleBase();
+		ruleBase.addPackage(builder.getPackage());
 
-        builder = new PackageBuilder();
-        builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_DuplicateRuleName2.drl" ) ) );
-        ruleBase.addPackage( builder.getPackage() );
+		builder = new PackageBuilder();
+		builder.addPackageFromDrl(new InputStreamReader(getClass()
+				.getResourceAsStream("test_DuplicateRuleName2.drl")));
+		ruleBase.addPackage(builder.getPackage());
 
-        // @todo: this is from JBRULES-394 - maybe we should test more stuff
-        // here?
+		// @todo: this is from JBRULES-394 - maybe we should test more stuff
+		// here?
 
-    }
+	}
 
-    public void testNullValuesIndexing() throws Exception {
-        final Reader reader = new InputStreamReader( getClass().getResourceAsStream( "test_NullValuesIndexing.drl" ) );
+	public void testNullValuesIndexing() throws Exception {
+		final Reader reader = new InputStreamReader(getClass()
+				.getResourceAsStream("test_NullValuesIndexing.drl"));
 
-        final PackageBuilder builder = new PackageBuilder();
-        builder.addPackageFromDrl( reader );
-        final Package pkg1 = builder.getPackage();
+		final PackageBuilder builder = new PackageBuilder();
+		builder.addPackageFromDrl(reader);
+		final Package pkg1 = builder.getPackage();
 
-        final RuleBase ruleBase = getRuleBase();
-        ruleBase.addPackage( pkg1 );
-        final WorkingMemory workingMemory = ruleBase.newStatefulSession();
+		final RuleBase ruleBase = getRuleBase();
+		ruleBase.addPackage(pkg1);
+		final WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
-        // Adding person with null name and likes attributes
-        final PersonInterface bob = new Person( null,
-                                                null );
-        bob.setStatus( "P1" );
-        final PersonInterface pete = new Person( null,
-                                                 null );
-        bob.setStatus( "P2" );
-        workingMemory.insert( bob );
-        workingMemory.insert( pete );
+		// Adding person with null name and likes attributes
+		final PersonInterface bob = new Person(null, null);
+		bob.setStatus("P1");
+		final PersonInterface pete = new Person(null, null);
+		bob.setStatus("P2");
+		workingMemory.insert(bob);
+		workingMemory.insert(pete);
 
-        workingMemory.fireAllRules();
+		workingMemory.fireAllRules();
 
-        Assert.assertEquals( "Indexing with null values is not working correctly.",
-                             "OK",
-                             bob.getStatus() );
-        Assert.assertEquals( "Indexing with null values is not working correctly.",
-                             "OK",
-                             pete.getStatus() );
+		Assert.assertEquals(
+				"Indexing with null values is not working correctly.", "OK",
+				bob.getStatus());
+		Assert.assertEquals(
+				"Indexing with null values is not working correctly.", "OK",
+				pete.getStatus());
 
-    }
+	}
 
-    public void testEmptyRule() throws Exception {
-        final PackageBuilder builder = new PackageBuilder();
-        builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_EmptyRule.drl" ) ) );
-        final Package pkg = builder.getPackage();
+	public void testEmptyRule() throws Exception {
+		final PackageBuilder builder = new PackageBuilder();
+		builder.addPackageFromDrl(new InputStreamReader(getClass()
+				.getResourceAsStream("test_EmptyRule.drl")));
+		final Package pkg = builder.getPackage();
 
-        final RuleBase ruleBase = getRuleBase();
-        ruleBase.addPackage( pkg );
-        final WorkingMemory workingMemory = ruleBase.newStatefulSession();
+		final RuleBase ruleBase = getRuleBase();
+		ruleBase.addPackage(pkg);
+		final WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
-        final List list = new ArrayList();
-        workingMemory.setGlobal( "list",
-                                 list );
+		final List list = new ArrayList();
+		workingMemory.setGlobal("list", list);
 
-        workingMemory.fireAllRules();
+		workingMemory.fireAllRules();
 
-        assertTrue( list.contains( "fired1" ) );
-        assertTrue( list.contains( "fired2" ) );
-    }
+		assertTrue(list.contains("fired1"));
+		assertTrue(list.contains("fired2"));
+	}
 
-    public void testjustEval() throws Exception {
-        final PackageBuilder builder = new PackageBuilder();
-        builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_NoPatterns.drl" ) ) );
-        final Package pkg = builder.getPackage();
+	public void testjustEval() throws Exception {
+		final PackageBuilder builder = new PackageBuilder();
+		builder.addPackageFromDrl(new InputStreamReader(getClass()
+				.getResourceAsStream("test_NoPatterns.drl")));
+		final Package pkg = builder.getPackage();
 
-        final RuleBase ruleBase = getRuleBase();
-        ruleBase.addPackage( pkg );
-        final WorkingMemory workingMemory = ruleBase.newStatefulSession();
+		final RuleBase ruleBase = getRuleBase();
+		ruleBase.addPackage(pkg);
+		final WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
-        final List list = new ArrayList();
-        workingMemory.setGlobal( "list",
-                                 list );
+		final List list = new ArrayList();
+		workingMemory.setGlobal("list", list);
 
-        workingMemory.fireAllRules();
+		workingMemory.fireAllRules();
 
-        assertTrue( list.contains( "fired1" ) );
-        assertTrue( list.contains( "fired3" ) );
-    }
+		assertTrue(list.contains("fired1"));
+		assertTrue(list.contains("fired3"));
+	}
 
-    public void testOrWithBinding() throws Exception {
+	public void testOrWithBinding() throws Exception {
 
-        final PackageBuilder builder = new PackageBuilder();
-        builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_OrWithBindings.drl" ) ) );
-        final Package pkg = builder.getPackage();
+		final PackageBuilder builder = new PackageBuilder();
+		builder.addPackageFromDrl(new InputStreamReader(getClass()
+				.getResourceAsStream("test_OrWithBindings.drl")));
+		final Package pkg = builder.getPackage();
 
-        final RuleBase ruleBase = getRuleBase();
-        ruleBase.addPackage( pkg );
-        final WorkingMemory workingMemory = ruleBase.newStatefulSession();
+		final RuleBase ruleBase = getRuleBase();
+		ruleBase.addPackage(pkg);
+		final WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
-        final List list = new ArrayList();
-        workingMemory.setGlobal( "results",
-                                 list );
+		final List list = new ArrayList();
+		workingMemory.setGlobal("results", list);
 
-        final Person hola = new Person( "hola" );
-        workingMemory.insert( hola );
+		final Person hola = new Person("hola");
+		workingMemory.insert(hola);
 
-        workingMemory.fireAllRules();
+		workingMemory.fireAllRules();
 
-        assertEquals( 0,
-                      list.size() );
-        workingMemory.insert( new State( "x" ) );
+		assertEquals(0, list.size());
+		workingMemory.insert(new State("x"));
 
-        workingMemory.fireAllRules();
+		workingMemory.fireAllRules();
 
-        assertEquals( 1,
-                      list.size() );
-        assertTrue( list.contains( hola ) );
+		assertEquals(1, list.size());
+		assertTrue(list.contains(hola));
 
-    }
+	}
 
-    protected Object serializeIn(final byte[] bytes) throws IOException,
-                                                    ClassNotFoundException {
-        final ObjectInput in = new ObjectInputStream( new ByteArrayInputStream( bytes ) );
-        final Object obj = in.readObject();
-        in.close();
-        return obj;
-    }
+	protected Object serializeIn(final byte[] bytes) throws IOException,
+			ClassNotFoundException {
+		final ObjectInput in = new ObjectInputStream(new ByteArrayInputStream(
+				bytes));
+		final Object obj = in.readObject();
+		in.close();
+		return obj;
+	}
 
-    protected byte[] serializeOut(final Object obj) throws IOException {
-        // Serialize to a byte array
-        final ByteArrayOutputStream bos = new ByteArrayOutputStream();
-        final ObjectOutput out = new ObjectOutputStream( bos );
-        out.writeObject( obj );
-        out.close();
+	protected byte[] serializeOut(final Object obj) throws IOException {
+		// Serialize to a byte array
+		final ByteArrayOutputStream bos = new ByteArrayOutputStream();
+		final ObjectOutput out = new ObjectOutputStream(bos);
+		out.writeObject(obj);
+		out.close();
 
-        // Get the bytes of the serialized object
-        final byte[] bytes = bos.toByteArray();
-        return bytes;
-    }
+		// Get the bytes of the serialized object
+		final byte[] bytes = bos.toByteArray();
+		return bytes;
+	}
 
-    public void testJoinNodeModifyObject() throws Exception {
-        final Reader reader = new InputStreamReader( getClass().getResourceAsStream( "test_JoinNodeModifyObject.drl" ) );
+	public void testJoinNodeModifyObject() throws Exception {
+		final Reader reader = new InputStreamReader(getClass()
+				.getResourceAsStream("test_JoinNodeModifyObject.drl"));
 
-        final PackageBuilder builder = new PackageBuilder();
-        builder.addPackageFromDrl( reader );
-        final Package pkg1 = builder.getPackage();
+		final PackageBuilder builder = new PackageBuilder();
+		builder.addPackageFromDrl(reader);
+		final Package pkg1 = builder.getPackage();
 
-        final RuleBase ruleBase = getRuleBase();
-        ruleBase.addPackage( pkg1 );
-        final WorkingMemory workingMemory = ruleBase.newStatefulSession();
+		final RuleBase ruleBase = getRuleBase();
+		ruleBase.addPackage(pkg1);
+		final WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
-        final List orderedFacts = new ArrayList();
-        final List errors = new ArrayList();
+		final List orderedFacts = new ArrayList();
+		final List errors = new ArrayList();
 
-        workingMemory.setGlobal( "orderedNumbers",
-                                 orderedFacts );
-        workingMemory.setGlobal( "errors",
-                                 errors );
+		workingMemory.setGlobal("orderedNumbers", orderedFacts);
+		workingMemory.setGlobal("errors", errors);
 
-        final int MAX = 5;
-        for ( int i = 1; i <= MAX; i++ ) {
-            final IndexedNumber n = new IndexedNumber( i,
-                                                       MAX - i + 1 );
-            workingMemory.insert( n );
-        }
-        workingMemory.fireAllRules();
+		final int MAX = 5;
+		for (int i = 1; i <= MAX; i++) {
+			final IndexedNumber n = new IndexedNumber(i, MAX - i + 1);
+			workingMemory.insert(n);
+		}
+		workingMemory.fireAllRules();
 
-        Assert.assertTrue( "Processing generated errors: " + errors.toString(),
-                           errors.isEmpty() );
+		Assert.assertTrue("Processing generated errors: " + errors.toString(),
+				errors.isEmpty());
 
-        for ( int i = 1; i <= MAX; i++ ) {
-            final IndexedNumber n = (IndexedNumber) orderedFacts.get( i - 1 );
-            Assert.assertEquals( "Fact is out of order",
-                                 i,
-                                 n.getIndex() );
-        }
-    }
+		for (int i = 1; i <= MAX; i++) {
+			final IndexedNumber n = (IndexedNumber) orderedFacts.get(i - 1);
+			Assert.assertEquals("Fact is out of order", i, n.getIndex());
+		}
+	}
 
-    public void testQuery2() throws Exception {
-        final PackageBuilder builder = new PackageBuilder();
-        builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_Query.drl" ) ) );
+	public void testQuery2() throws Exception {
+		final PackageBuilder builder = new PackageBuilder();
+		builder.addPackageFromDrl(new InputStreamReader(getClass()
+				.getResourceAsStream("test_Query.drl")));
 
-        final RuleBase ruleBase = getRuleBase();
-        ruleBase.addPackage( builder.getPackage() );
+		final RuleBase ruleBase = getRuleBase();
+		ruleBase.addPackage(builder.getPackage());
 
-        final WorkingMemory workingMemory = ruleBase.newStatefulSession();
-        workingMemory.fireAllRules();
+		final WorkingMemory workingMemory = ruleBase.newStatefulSession();
+		workingMemory.fireAllRules();
 
-        final QueryResults results = workingMemory.getQueryResults( "assertedobjquery" );
-        assertEquals( 1,
-                      results.size() );
-        assertEquals( new InsertedObject( "value1" ),
-                      results.get( 0 ).get( 0 ) );
-    }
+		final QueryResults results = workingMemory
+				.getQueryResults("assertedobjquery");
+		assertEquals(1, results.size());
+		assertEquals(new InsertedObject("value1"), results.get(0).get(0));
+	}
 
-    public void testQueryWithParams() throws Exception {
-        final PackageBuilder builder = new PackageBuilder();
-        builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_QueryWithParams.drl" ) ) );
+	public void testQueryWithParams() throws Exception {
+		final PackageBuilder builder = new PackageBuilder();
+		builder.addPackageFromDrl(new InputStreamReader(getClass()
+				.getResourceAsStream("test_QueryWithParams.drl")));
 
-        final RuleBase ruleBase = getRuleBase();
-        ruleBase.addPackage( builder.getPackage() );
+		final RuleBase ruleBase = getRuleBase();
+		ruleBase.addPackage(builder.getPackage());
 
-        final WorkingMemory workingMemory = ruleBase.newStatefulSession();
-        workingMemory.fireAllRules();
+		final WorkingMemory workingMemory = ruleBase.newStatefulSession();
+		workingMemory.fireAllRules();
 
-        QueryResults results = workingMemory.getQueryResults( "assertedobjquery",
-                                                              new String[]{"value1"} );
-        assertEquals( 1,
-                      results.size() );
-        assertEquals( new InsertedObject( "value1" ),
-                      results.get( 0 ).get( 0 ) );
+		QueryResults results = workingMemory.getQueryResults(
+				"assertedobjquery", new String[] { "value1" });
+		assertEquals(1, results.size());
+		assertEquals(new InsertedObject("value1"), results.get(0).get(0));
 
-        results = workingMemory.getQueryResults( "assertedobjquery",
-                                                 new String[]{"value3"} );
-        assertEquals( 0,
-                      results.size() );
+		results = workingMemory.getQueryResults("assertedobjquery",
+				new String[] { "value3" });
+		assertEquals(0, results.size());
 
-        results = workingMemory.getQueryResults( "assertedobjquery2",
-                                                 new String[]{null, "value2"} );
-        assertEquals( 1,
-                      results.size() );
-        assertEquals( new InsertedObject( "value2" ),
-                      results.get( 0 ).get( 0 ) );
+		results = workingMemory.getQueryResults("assertedobjquery2",
+				new String[] { null, "value2" });
+		assertEquals(1, results.size());
+		assertEquals(new InsertedObject("value2"), results.get(0).get(0));
 
-        results = workingMemory.getQueryResults( "assertedobjquery2",
-                                                 new String[]{"value3", "value2"} );
-        assertEquals( 1,
-                      results.size() );
-        assertEquals( new InsertedObject( "value2" ),
-                      results.get( 0 ).get( 0 ) );
-    }
+		results = workingMemory.getQueryResults("assertedobjquery2",
+				new String[] { "value3", "value2" });
+		assertEquals(1, results.size());
+		assertEquals(new InsertedObject("value2"), results.get(0).get(0));
+	}
 
-    public void testTwoQuerries() throws Exception {
-        // @see JBRULES-410 More than one Query definition causes an incorrect
-        // Rete network to be built.
+	public void testTwoQuerries() throws Exception {
+		// @see JBRULES-410 More than one Query definition causes an incorrect
+		// Rete network to be built.
 
-        final PackageBuilder builder = new PackageBuilder();
-        builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_TwoQuerries.drl" ) ) );
-        final Package pkg = builder.getPackage();
+		final PackageBuilder builder = new PackageBuilder();
+		builder.addPackageFromDrl(new InputStreamReader(getClass()
+				.getResourceAsStream("test_TwoQuerries.drl")));
+		final Package pkg = builder.getPackage();
 
-        final RuleBase ruleBase = getRuleBase();
-        ruleBase.addPackage( pkg );
-        final WorkingMemory workingMemory = ruleBase.newStatefulSession();
+		final RuleBase ruleBase = getRuleBase();
+		ruleBase.addPackage(pkg);
+		final WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
-        final Cheese stilton = new Cheese( "stinky",
-                                           5 );
-        workingMemory.insert( stilton );
-        final Person per1 = new Person( "stinker",
-                                        "smelly feet",
-                                        70 );
-        final Person per2 = new Person( "skunky",
-                                        "smelly armpits",
-                                        40 );
+		final Cheese stilton = new Cheese("stinky", 5);
+		workingMemory.insert(stilton);
+		final Person per1 = new Person("stinker", "smelly feet", 70);
+		final Person per2 = new Person("skunky", "smelly armpits", 40);
 
-        workingMemory.insert( per1 );
-        workingMemory.insert( per2 );
+		workingMemory.insert(per1);
+		workingMemory.insert(per2);
 
-        QueryResults results = workingMemory.getQueryResults( "find stinky cheeses" );
-        assertEquals( 1,
-                      results.size() );
+		QueryResults results = workingMemory
+				.getQueryResults("find stinky cheeses");
+		assertEquals(1, results.size());
 
-        results = workingMemory.getQueryResults( "find pensioners" );
-        assertEquals( 1,
-                      results.size() );
-    }
+		results = workingMemory.getQueryResults("find pensioners");
+		assertEquals(1, results.size());
+	}
 
-    public void testInsurancePricingExample() throws Exception {
-        final Reader reader = new InputStreamReader( getClass().getResourceAsStream( "insurance_pricing_example.drl" ) );
-        final RuleBase ruleBase = loadRuleBase( reader );
-        final WorkingMemory wm = ruleBase.newStatefulSession();
+	public void testInsurancePricingExample() throws Exception {
+		final Reader reader = new InputStreamReader(getClass()
+				.getResourceAsStream("insurance_pricing_example.drl"));
+		final RuleBase ruleBase = loadRuleBase(reader);
+		final WorkingMemory wm = ruleBase.newStatefulSession();
 
-        // now create some test data
-        final Driver driver = new Driver();
-        final Policy policy = new Policy();
+		// now create some test data
+		final Driver driver = new Driver();
+		final Policy policy = new Policy();
 
-        wm.insert( driver );
-        wm.insert( policy );
+		wm.insert(driver);
+		wm.insert(policy);
 
-        wm.fireAllRules();
+		wm.fireAllRules();
 
-        assertEquals( 120,
-                      policy.getBasePrice() );
-    }
+		assertEquals(120, policy.getBasePrice());
+	}
 
-    public void testLLR() throws Exception {
+	public void testLLR() throws Exception {
 
-        // read in the source
-        final Reader reader = new InputStreamReader( getClass().getResourceAsStream( "test_JoinNodeModifyTuple.drl" ) );
-        final RuleBase ruleBase = loadRuleBase( reader );
+		// read in the source
+		final Reader reader = new InputStreamReader(getClass()
+				.getResourceAsStream("test_JoinNodeModifyTuple.drl"));
+		final RuleBase ruleBase = loadRuleBase(reader);
 
-        final WorkingMemory wm = ruleBase.newStatefulSession();
+		final WorkingMemory wm = ruleBase.newStatefulSession();
 
-        // 1st time
-        org.drools.Target tgt = new org.drools.Target();
-        tgt.setLabel( "Santa-Anna" );
-        tgt.setLat( new Float( 60.26544f ) );
-        tgt.setLon( new Float( 28.952137f ) );
-        tgt.setCourse( new Float( 145.0f ) );
-        tgt.setSpeed( new Float( 12.0f ) );
-        tgt.setTime( new Float( 1.8666667f ) );
-        wm.insert( tgt );
+		// 1st time
+		org.drools.Target tgt = new org.drools.Target();
+		tgt.setLabel("Santa-Anna");
+		tgt.setLat(new Float(60.26544f));
+		tgt.setLon(new Float(28.952137f));
+		tgt.setCourse(new Float(145.0f));
+		tgt.setSpeed(new Float(12.0f));
+		tgt.setTime(new Float(1.8666667f));
+		wm.insert(tgt);
 
-        tgt = new org.drools.Target();
-        tgt.setLabel( "Santa-Maria" );
-        tgt.setLat( new Float( 60.236874f ) );
-        tgt.setLon( new Float( 28.992579f ) );
-        tgt.setCourse( new Float( 325.0f ) );
-        tgt.setSpeed( new Float( 8.0f ) );
-        tgt.setTime( new Float( 1.8666667f ) );
-        wm.insert( tgt );
+		tgt = new org.drools.Target();
+		tgt.setLabel("Santa-Maria");
+		tgt.setLat(new Float(60.236874f));
+		tgt.setLon(new Float(28.992579f));
+		tgt.setCourse(new Float(325.0f));
+		tgt.setSpeed(new Float(8.0f));
+		tgt.setTime(new Float(1.8666667f));
+		wm.insert(tgt);
 
-        wm.fireAllRules();
+		wm.fireAllRules();
 
-        // 2nd time
-        tgt = new org.drools.Target();
-        tgt.setLabel( "Santa-Anna" );
-        tgt.setLat( new Float( 60.265343f ) );
-        tgt.setLon( new Float( 28.952267f ) );
-        tgt.setCourse( new Float( 145.0f ) );
-        tgt.setSpeed( new Float( 12.0f ) );
-        tgt.setTime( new Float( 1.9f ) );
-        wm.insert( tgt );
+		// 2nd time
+		tgt = new org.drools.Target();
+		tgt.setLabel("Santa-Anna");
+		tgt.setLat(new Float(60.265343f));
+		tgt.setLon(new Float(28.952267f));
+		tgt.setCourse(new Float(145.0f));
+		tgt.setSpeed(new Float(12.0f));
+		tgt.setTime(new Float(1.9f));
+		wm.insert(tgt);
 
-        tgt = new org.drools.Target();
-        tgt.setLabel( "Santa-Maria" );
-        tgt.setLat( new Float( 60.236935f ) );
-        tgt.setLon( new Float( 28.992493f ) );
-        tgt.setCourse( new Float( 325.0f ) );
-        tgt.setSpeed( new Float( 8.0f ) );
-        tgt.setTime( new Float( 1.9f ) );
-        wm.insert( tgt );
+		tgt = new org.drools.Target();
+		tgt.setLabel("Santa-Maria");
+		tgt.setLat(new Float(60.236935f));
+		tgt.setLon(new Float(28.992493f));
+		tgt.setCourse(new Float(325.0f));
+		tgt.setSpeed(new Float(8.0f));
+		tgt.setTime(new Float(1.9f));
+		wm.insert(tgt);
 
-        wm.fireAllRules();
+		wm.fireAllRules();
 
-        // 3d time
-        tgt = new org.drools.Target();
-        tgt.setLabel( "Santa-Anna" );
-        tgt.setLat( new Float( 60.26525f ) );
-        tgt.setLon( new Float( 28.952396f ) );
-        tgt.setCourse( new Float( 145.0f ) );
-        tgt.setSpeed( new Float( 12.0f ) );
-        tgt.setTime( new Float( 1.9333333f ) );
-        wm.insert( tgt );
+		// 3d time
+		tgt = new org.drools.Target();
+		tgt.setLabel("Santa-Anna");
+		tgt.setLat(new Float(60.26525f));
+		tgt.setLon(new Float(28.952396f));
+		tgt.setCourse(new Float(145.0f));
+		tgt.setSpeed(new Float(12.0f));
+		tgt.setTime(new Float(1.9333333f));
+		wm.insert(tgt);
 
-        tgt = new org.drools.Target();
-        tgt.setLabel( "Santa-Maria" );
-        tgt.setLat( new Float( 60.236996f ) );
-        tgt.setLon( new Float( 28.992405f ) );
-        tgt.setCourse( new Float( 325.0f ) );
-        tgt.setSpeed( new Float( 8.0f ) );
-        tgt.setTime( new Float( 1.9333333f ) );
-        wm.insert( tgt );
+		tgt = new org.drools.Target();
+		tgt.setLabel("Santa-Maria");
+		tgt.setLat(new Float(60.236996f));
+		tgt.setLon(new Float(28.992405f));
+		tgt.setCourse(new Float(325.0f));
+		tgt.setSpeed(new Float(8.0f));
+		tgt.setTime(new Float(1.9333333f));
+		wm.insert(tgt);
 
-        wm.fireAllRules();
+		wm.fireAllRules();
 
-        // 4th time
-        tgt = new org.drools.Target();
-        tgt.setLabel( "Santa-Anna" );
-        tgt.setLat( new Float( 60.265163f ) );
-        tgt.setLon( new Float( 28.952526f ) );
-        tgt.setCourse( new Float( 145.0f ) );
-        tgt.setSpeed( new Float( 12.0f ) );
-        tgt.setTime( new Float( 1.9666667f ) );
-        wm.insert( tgt );
+		// 4th time
+		tgt = new org.drools.Target();
+		tgt.setLabel("Santa-Anna");
+		tgt.setLat(new Float(60.265163f));
+		tgt.setLon(new Float(28.952526f));
+		tgt.setCourse(new Float(145.0f));
+		tgt.setSpeed(new Float(12.0f));
+		tgt.setTime(new Float(1.9666667f));
+		wm.insert(tgt);
 
-        tgt = new org.drools.Target();
-        tgt.setLabel( "Santa-Maria" );
-        tgt.setLat( new Float( 60.237057f ) );
-        tgt.setLon( new Float( 28.99232f ) );
-        tgt.setCourse( new Float( 325.0f ) );
-        tgt.setSpeed( new Float( 8.0f ) );
-        tgt.setTime( new Float( 1.9666667f ) );
-        wm.insert( tgt );
+		tgt = new org.drools.Target();
+		tgt.setLabel("Santa-Maria");
+		tgt.setLat(new Float(60.237057f));
+		tgt.setLon(new Float(28.99232f));
+		tgt.setCourse(new Float(325.0f));
+		tgt.setSpeed(new Float(8.0f));
+		tgt.setTime(new Float(1.9666667f));
+		wm.insert(tgt);
 
-        wm.fireAllRules();
-    }
+		wm.fireAllRules();
+	}
 
-    public void testDoubleQueryWithExists() throws Exception {
-        final PackageBuilder builder = new PackageBuilder();
-        builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_DoubleQueryWithExists.drl" ) ) );
-        final Package pkg = builder.getPackage();
+	public void testDoubleQueryWithExists() throws Exception {
+		final PackageBuilder builder = new PackageBuilder();
+		builder.addPackageFromDrl(new InputStreamReader(getClass()
+				.getResourceAsStream("test_DoubleQueryWithExists.drl")));
+		final Package pkg = builder.getPackage();
 
-        final RuleBase ruleBase = getRuleBase();
-        ruleBase.addPackage( pkg );
-        final WorkingMemory workingMemory = ruleBase.newStatefulSession();
+		final RuleBase ruleBase = getRuleBase();
+		ruleBase.addPackage(pkg);
+		final WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
-        final Person p1 = new Person( "p1",
-                                      "stilton",
-                                      20 );
-        p1.setStatus( "europe" );
-        final FactHandle c1FactHandle = workingMemory.insert( p1 );
-        final Person p2 = new Person( "p2",
-                                      "stilton",
-                                      30 );
-        p2.setStatus( "europe" );
-        final FactHandle c2FactHandle = workingMemory.insert( p2 );
-        final Person p3 = new Person( "p3",
-                                      "stilton",
-                                      40 );
-        p3.setStatus( "europe" );
-        final FactHandle c3FactHandle = workingMemory.insert( p3 );
-        workingMemory.fireAllRules();
+		final Person p1 = new Person("p1", "stilton", 20);
+		p1.setStatus("europe");
+		final FactHandle c1FactHandle = workingMemory.insert(p1);
+		final Person p2 = new Person("p2", "stilton", 30);
+		p2.setStatus("europe");
+		final FactHandle c2FactHandle = workingMemory.insert(p2);
+		final Person p3 = new Person("p3", "stilton", 40);
+		p3.setStatus("europe");
+		final FactHandle c3FactHandle = workingMemory.insert(p3);
+		workingMemory.fireAllRules();
 
-        QueryResults queryResults = workingMemory.getQueryResults( "2 persons with the same status" );
-        assertEquals( 2,
-                      queryResults.size() );
+		QueryResults queryResults = workingMemory
+				.getQueryResults("2 persons with the same status");
+		assertEquals(2, queryResults.size());
 
-        // europe=[ 1, 2 ], america=[ 3 ]
-        p3.setStatus( "america" );
-        workingMemory.update( c3FactHandle,
-                              p3 );
-        workingMemory.fireAllRules();
-        queryResults = workingMemory.getQueryResults( "2 persons with the same status" );
-        assertEquals( 1,
-                      queryResults.size() );
+		// europe=[ 1, 2 ], america=[ 3 ]
+		p3.setStatus("america");
+		workingMemory.update(c3FactHandle, p3);
+		workingMemory.fireAllRules();
+		queryResults = workingMemory
+				.getQueryResults("2 persons with the same status");
+		assertEquals(1, queryResults.size());
 
-        // europe=[ 1 ], america=[ 2, 3 ]
-        p2.setStatus( "america" );
-        workingMemory.update( c2FactHandle,
-                              p2 );
-        workingMemory.fireAllRules();
-        queryResults = workingMemory.getQueryResults( "2 persons with the same status" );
-        assertEquals( 1,
-                      queryResults.size() );
+		// europe=[ 1 ], america=[ 2, 3 ]
+		p2.setStatus("america");
+		workingMemory.update(c2FactHandle, p2);
+		workingMemory.fireAllRules();
+		queryResults = workingMemory
+				.getQueryResults("2 persons with the same status");
+		assertEquals(1, queryResults.size());
 
-        // europe=[ ], america=[ 1, 2, 3 ]
-        p1.setStatus( "america" );
-        workingMemory.update( c1FactHandle,
-                              p1 );
-        workingMemory.fireAllRules();
-        queryResults = workingMemory.getQueryResults( "2 persons with the same status" );
-        assertEquals( 2,
-                      queryResults.size() );
+		// europe=[ ], america=[ 1, 2, 3 ]
+		p1.setStatus("america");
+		workingMemory.update(c1FactHandle, p1);
+		workingMemory.fireAllRules();
+		queryResults = workingMemory
+				.getQueryResults("2 persons with the same status");
+		assertEquals(2, queryResults.size());
 
-        // europe=[ 2 ], america=[ 1, 3 ]
-        p2.setStatus( "europe" );
-        workingMemory.update( c2FactHandle,
-                              p2 );
-        workingMemory.fireAllRules();
-        queryResults = workingMemory.getQueryResults( "2 persons with the same status" );
-        assertEquals( 1,
-                      queryResults.size() );
+		// europe=[ 2 ], america=[ 1, 3 ]
+		p2.setStatus("europe");
+		workingMemory.update(c2FactHandle, p2);
+		workingMemory.fireAllRules();
+		queryResults = workingMemory
+				.getQueryResults("2 persons with the same status");
+		assertEquals(1, queryResults.size());
 
-        // europe=[ 1, 2 ], america=[ 3 ]
-        p1.setStatus( "europe" );
-        workingMemory.update( c1FactHandle,
-                              p1 );
-        workingMemory.fireAllRules();
-        queryResults = workingMemory.getQueryResults( "2 persons with the same status" );
-        assertEquals( 1,
-                      queryResults.size() );
+		// europe=[ 1, 2 ], america=[ 3 ]
+		p1.setStatus("europe");
+		workingMemory.update(c1FactHandle, p1);
+		workingMemory.fireAllRules();
+		queryResults = workingMemory
+				.getQueryResults("2 persons with the same status");
+		assertEquals(1, queryResults.size());
 
-        // europe=[ 1, 2, 3 ], america=[ ]
-        p3.setStatus( "europe" );
-        workingMemory.update( c3FactHandle,
-                              p3 );
-        workingMemory.fireAllRules();
-        queryResults = workingMemory.getQueryResults( "2 persons with the same status" );
-        assertEquals( 2,
-                      queryResults.size() );
-    }
+		// europe=[ 1, 2, 3 ], america=[ ]
+		p3.setStatus("europe");
+		workingMemory.update(c3FactHandle, p3);
+		workingMemory.fireAllRules();
+		queryResults = workingMemory
+				.getQueryResults("2 persons with the same status");
+		assertEquals(2, queryResults.size());
+	}
 
-    public void testFunctionWithPrimitives() throws Exception {
-        final PackageBuilder builder = new PackageBuilder();
-        builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_FunctionWithPrimitives.drl" ) ) );
-        final Package pkg = builder.getPackage();
+	public void testFunctionWithPrimitives() throws Exception {
+		final PackageBuilder builder = new PackageBuilder();
+		builder.addPackageFromDrl(new InputStreamReader(getClass()
+				.getResourceAsStream("test_FunctionWithPrimitives.drl")));
+		final Package pkg = builder.getPackage();
 
-        final RuleBase ruleBase = getRuleBase();
-        ruleBase.addPackage( pkg );
-        final WorkingMemory workingMemory = ruleBase.newStatefulSession();
+		final RuleBase ruleBase = getRuleBase();
+		ruleBase.addPackage(pkg);
+		final WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
-        final List list = new ArrayList();
-        workingMemory.setGlobal( "list",
-                                 list );
+		final List list = new ArrayList();
+		workingMemory.setGlobal("list", list);
 
-        final Cheese stilton = new Cheese( "stilton",
-                                           5 );
-        workingMemory.insert( stilton );
+		final Cheese stilton = new Cheese("stilton", 5);
+		workingMemory.insert(stilton);
 
-        workingMemory.fireAllRules();
+		workingMemory.fireAllRules();
 
-        assertEquals( new Integer( 10 ),
-                      list.get( 0 ) );
-    }
+		assertEquals(new Integer(10), list.get(0));
+	}
 
-    public void testReturnValueAndGlobal() throws Exception {
+	public void testReturnValueAndGlobal() throws Exception {
 
-        final PackageBuilder builder = new PackageBuilder();
-        builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_ReturnValueAndGlobal.drl" ) ) );
-        final Package pkg = builder.getPackage();
+		final PackageBuilder builder = new PackageBuilder();
+		builder.addPackageFromDrl(new InputStreamReader(getClass()
+				.getResourceAsStream("test_ReturnValueAndGlobal.drl")));
+		final Package pkg = builder.getPackage();
 
-        final RuleBase ruleBase = getRuleBase();
-        ruleBase.addPackage( pkg );
-        final WorkingMemory workingMemory = ruleBase.newStatefulSession();
+		final RuleBase ruleBase = getRuleBase();
+		ruleBase.addPackage(pkg);
+		final WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
-        final List matchlist = new ArrayList();
-        workingMemory.setGlobal( "matchingList",
-                                 matchlist );
+		final List matchlist = new ArrayList();
+		workingMemory.setGlobal("matchingList", matchlist);
 
-        final List nonmatchlist = new ArrayList();
-        workingMemory.setGlobal( "nonMatchingList",
-                                 nonmatchlist );
+		final List nonmatchlist = new ArrayList();
+		workingMemory.setGlobal("nonMatchingList", nonmatchlist);
 
-        workingMemory.setGlobal( "cheeseType",
-                                 "stilton" );
+		workingMemory.setGlobal("cheeseType", "stilton");
 
-        final Cheese stilton1 = new Cheese( "stilton",
-                                            5 );
-        final Cheese stilton2 = new Cheese( "stilton",
-                                            7 );
-        final Cheese brie = new Cheese( "brie",
-                                        4 );
-        workingMemory.insert( stilton1 );
-        workingMemory.insert( stilton2 );
-        workingMemory.insert( brie );
+		final Cheese stilton1 = new Cheese("stilton", 5);
+		final Cheese stilton2 = new Cheese("stilton", 7);
+		final Cheese brie = new Cheese("brie", 4);
+		workingMemory.insert(stilton1);
+		workingMemory.insert(stilton2);
+		workingMemory.insert(brie);
 
-        workingMemory.fireAllRules();
+		workingMemory.fireAllRules();
 
-        assertEquals( 2,
-                      matchlist.size() );
-        assertEquals( 1,
-                      nonmatchlist.size() );
-    }
+		assertEquals(2, matchlist.size());
+		assertEquals(1, nonmatchlist.size());
+	}
 
-    public void testDeclaringAndUsingBindsInSamePattern() throws Exception {
-        final RuleBaseConfiguration config = new RuleBaseConfiguration();
-        config.setRemoveIdentities( true );
+	public void testDeclaringAndUsingBindsInSamePattern() throws Exception {
+		final RuleBaseConfiguration config = new RuleBaseConfiguration();
+		config.setRemoveIdentities(true);
 
-        final PackageBuilder builder = new PackageBuilder();
-        builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_DeclaringAndUsingBindsInSamePattern.drl" ) ) );
-        final Package pkg = builder.getPackage();
+		final PackageBuilder builder = new PackageBuilder();
+		builder.addPackageFromDrl(new InputStreamReader(getClass()
+				.getResourceAsStream(
+						"test_DeclaringAndUsingBindsInSamePattern.drl")));
+		final Package pkg = builder.getPackage();
 
-        final RuleBase ruleBase = getRuleBase( config );
-        ruleBase.addPackage( pkg );
-        final WorkingMemory workingMemory = ruleBase.newStatefulSession();
+		final RuleBase ruleBase = getRuleBase(config);
+		ruleBase.addPackage(pkg);
+		final WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
-        final List sensors = new ArrayList();
+		final List sensors = new ArrayList();
 
-        workingMemory.setGlobal( "sensors",
-                                 sensors );
+		workingMemory.setGlobal("sensors", sensors);
 
-        final Sensor sensor1 = new Sensor( 100,
-                                           150 );
-        workingMemory.insert( sensor1 );
-        workingMemory.fireAllRules();
-        assertEquals( 0,
-                      sensors.size() );
+		final Sensor sensor1 = new Sensor(100, 150);
+		workingMemory.insert(sensor1);
+		workingMemory.fireAllRules();
+		assertEquals(0, sensors.size());
 
-        final Sensor sensor2 = new Sensor( 200,
-                                           150 );
-        workingMemory.insert( sensor2 );
-        workingMemory.fireAllRules();
-        assertEquals( 3,
-                      sensors.size() );
-    }
+		final Sensor sensor2 = new Sensor(200, 150);
+		workingMemory.insert(sensor2);
+		workingMemory.fireAllRules();
+		assertEquals(3, sensors.size());
+	}
 
-    public void testMissingImports() {
-        try {
-            final PackageBuilder builder = new PackageBuilder();
-            builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_missing_import.drl" ) ) );
-            final Package pkg = builder.getPackage();
+	public void testMissingImports() {
+		try {
+			final PackageBuilder builder = new PackageBuilder();
+			builder.addPackageFromDrl(new InputStreamReader(getClass()
+					.getResourceAsStream("test_missing_import.drl")));
+			final Package pkg = builder.getPackage();
 
-            final RuleBase ruleBase = getRuleBase();
-            ruleBase.addPackage( pkg );
+			final RuleBase ruleBase = getRuleBase();
+			ruleBase.addPackage(pkg);
 
-            Assert.fail( "Should have thrown an InvalidRulePackage" );
-        } catch ( final InvalidRulePackage e ) {
-            // everything fine
-        } catch ( final Exception e ) {
-            e.printStackTrace();
-            Assert.fail( "Should have thrown an InvalidRulePackage Exception instead of " + e.getMessage() );
-        }
-    }
+			Assert.fail("Should have thrown an InvalidRulePackage");
+		} catch (final InvalidRulePackage e) {
+			// everything fine
+		} catch (final Exception e) {
+			e.printStackTrace();
+			Assert
+					.fail("Should have thrown an InvalidRulePackage Exception instead of "
+							+ e.getMessage());
+		}
+	}
 
-    public void testNestedConditionalElements() throws Exception {
+	public void testNestedConditionalElements() throws Exception {
 
-        final PackageBuilder builder = new PackageBuilder();
-        builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_NestedConditionalElements.drl" ) ) );
-        final Package pkg = builder.getPackage();
+		final PackageBuilder builder = new PackageBuilder();
+		builder.addPackageFromDrl(new InputStreamReader(getClass()
+				.getResourceAsStream("test_NestedConditionalElements.drl")));
+		final Package pkg = builder.getPackage();
 
-        final RuleBase ruleBase = getRuleBase();
-        ruleBase.addPackage( pkg );
-        final WorkingMemory workingMemory = ruleBase.newStatefulSession();
+		final RuleBase ruleBase = getRuleBase();
+		ruleBase.addPackage(pkg);
+		final WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
-        final List list = new ArrayList();
-        workingMemory.setGlobal( "results",
-                                 list );
+		final List list = new ArrayList();
+		workingMemory.setGlobal("results", list);
 
-        final State state = new State( "SP" );
-        workingMemory.insert( state );
+		final State state = new State("SP");
+		workingMemory.insert(state);
 
-        final Person bob = new Person( "Bob" );
-        bob.setStatus( state.getState() );
-        bob.setLikes( "stilton" );
-        workingMemory.insert( bob );
+		final Person bob = new Person("Bob");
+		bob.setStatus(state.getState());
+		bob.setLikes("stilton");
+		workingMemory.insert(bob);
 
-        workingMemory.fireAllRules();
+		workingMemory.fireAllRules();
 
-        assertEquals( 0,
-                      list.size() );
+		assertEquals(0, list.size());
 
-        workingMemory.insert( new Cheese( bob.getLikes(),
-                                          10 ) );
-        workingMemory.fireAllRules();
+		workingMemory.insert(new Cheese(bob.getLikes(), 10));
+		workingMemory.fireAllRules();
 
-        assertEquals( 1,
-                      list.size() );
-    }
+		assertEquals(1, list.size());
+	}
 
-    public void testDeclarationUsage() throws Exception {
+	public void testDeclarationUsage() throws Exception {
 
-        try {
-            final PackageBuilder builder = new PackageBuilder();
-            builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_DeclarationUsage.drl" ) ) );
-            final Package pkg = builder.getPackage();
+		try {
+			final PackageBuilder builder = new PackageBuilder();
+			builder.addPackageFromDrl(new InputStreamReader(getClass()
+					.getResourceAsStream("test_DeclarationUsage.drl")));
+			final Package pkg = builder.getPackage();
 
-            final RuleBase ruleBase = getRuleBase();
-            ruleBase.addPackage( pkg );
+			final RuleBase ruleBase = getRuleBase();
+			ruleBase.addPackage(pkg);
 
-            fail( "Should have trown an exception" );
-        } catch ( final InvalidRulePackage e ) {
-            // success ... correct exception thrown
-        } catch ( final Exception e ) {
-            e.printStackTrace();
-            fail( "Wrong exception raised: " + e.getMessage() );
-        }
-    }
+			fail("Should have trown an exception");
+		} catch (final InvalidRulePackage e) {
+			// success ... correct exception thrown
+		} catch (final Exception e) {
+			e.printStackTrace();
+			fail("Wrong exception raised: " + e.getMessage());
+		}
+	}
 
-    public void testUnbalancedTrees() throws Exception {
-        final PackageBuilder builder = new PackageBuilder();
-        builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_UnbalancedTrees.drl" ) ) );
-        final Package pkg = builder.getPackage();
+	public void testUnbalancedTrees() throws Exception {
+		final PackageBuilder builder = new PackageBuilder();
+		builder.addPackageFromDrl(new InputStreamReader(getClass()
+				.getResourceAsStream("test_UnbalancedTrees.drl")));
+		final Package pkg = builder.getPackage();
 
-        final RuleBase ruleBase = getRuleBase();
-        ruleBase.addPackage( pkg );
+		final RuleBase ruleBase = getRuleBase();
+		ruleBase.addPackage(pkg);
 
-        final WorkingMemory wm = ruleBase.newStatefulSession();
+		final WorkingMemory wm = ruleBase.newStatefulSession();
 
-        wm.insert( new Cheese( "a",
-                               10 ) );
-        wm.insert( new Cheese( "b",
-                               10 ) );
-        wm.insert( new Cheese( "c",
-                               10 ) );
-        wm.insert( new Cheese( "d",
-                               10 ) );
-        final Cheese e = new Cheese( "e",
-                                     10 );
-        wm.insert( e );
+		wm.insert(new Cheese("a", 10));
+		wm.insert(new Cheese("b", 10));
+		wm.insert(new Cheese("c", 10));
+		wm.insert(new Cheese("d", 10));
+		final Cheese e = new Cheese("e", 10);
+		wm.insert(e);
 
-        wm.fireAllRules();
+		wm.fireAllRules();
 
-        Assert.assertEquals( "Rule should have fired twice, seting the price to 30",
-                             30,
-                             e.getPrice() );
-        // success
-    }
+		Assert.assertEquals(
+				"Rule should have fired twice, seting the price to 30", 30, e
+						.getPrice());
+		// success
+	}
 
-    public void testImportConflict() throws Exception {
-        final RuleBase ruleBase = getRuleBase();
-        final PackageBuilder builder = new PackageBuilder();
-        builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_ImportConflict.drl" ) ) );
-        final Package pkg = builder.getPackage();
-        ruleBase.addPackage( pkg );
-    }
+	public void testImportConflict() throws Exception {
+		final RuleBase ruleBase = getRuleBase();
+		final PackageBuilder builder = new PackageBuilder();
+		builder.addPackageFromDrl(new InputStreamReader(getClass()
+				.getResourceAsStream("test_ImportConflict.drl")));
+		final Package pkg = builder.getPackage();
+		ruleBase.addPackage(pkg);
+	}
 
-    public void testPrimitiveArray() throws Exception {
-        final PackageBuilder builder = new PackageBuilder();
-        builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_primitiveArray.drl" ) ) );
-        final Package pkg = builder.getPackage();
+	public void testPrimitiveArray() throws Exception {
+		final PackageBuilder builder = new PackageBuilder();
+		builder.addPackageFromDrl(new InputStreamReader(getClass()
+				.getResourceAsStream("test_primitiveArray.drl")));
+		final Package pkg = builder.getPackage();
 
-        final RuleBase ruleBase = getRuleBase();
-        ruleBase.addPackage( pkg );
-        final WorkingMemory workingMemory = ruleBase.newStatefulSession();
-        final List result = new ArrayList();
-        workingMemory.setGlobal( "result",
-                                 result );
+		final RuleBase ruleBase = getRuleBase();
+		ruleBase.addPackage(pkg);
+		final WorkingMemory workingMemory = ruleBase.newStatefulSession();
+		final List result = new ArrayList();
+		workingMemory.setGlobal("result", result);
 
-        final Primitives p1 = new Primitives();
-        p1.setPrimitiveArrayAttribute( new int[]{1, 2, 3} );
-        p1.setArrayAttribute( new String[]{"a", "b"} );
+		final Primitives p1 = new Primitives();
+		p1.setPrimitiveArrayAttribute(new int[] { 1, 2, 3 });
+		p1.setArrayAttribute(new String[] { "a", "b" });
 
-        workingMemory.insert( p1 );
+		workingMemory.insert(p1);
 
-        workingMemory.fireAllRules();
-        assertEquals( 3,
-                      result.size() );
-        assertEquals( 3,
-                      ((Integer) result.get( 0 )).intValue() );
-        assertEquals( 2,
-                      ((Integer) result.get( 1 )).intValue() );
-        assertEquals( 3,
-                      ((Integer) result.get( 2 )).intValue() );
+		workingMemory.fireAllRules();
+		assertEquals(3, result.size());
+		assertEquals(3, ((Integer) result.get(0)).intValue());
+		assertEquals(2, ((Integer) result.get(1)).intValue());
+		assertEquals(3, ((Integer) result.get(2)).intValue());
 
-    }
+	}
 
-    public void testEmptyIdentifier() throws Exception {
-        final PackageBuilder builder = new PackageBuilder();
-        builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_emptyIdentifier.drl" ) ) );
-        final Package pkg = builder.getPackage();
+	public void testEmptyIdentifier() throws Exception {
+		final PackageBuilder builder = new PackageBuilder();
+		builder.addPackageFromDrl(new InputStreamReader(getClass()
+				.getResourceAsStream("test_emptyIdentifier.drl")));
+		final Package pkg = builder.getPackage();
 
-        final RuleBase ruleBase = getRuleBase();
-        ruleBase.addPackage( pkg );
-        final WorkingMemory workingMemory = ruleBase.newStatefulSession();
-        final List result = new ArrayList();
-        workingMemory.setGlobal( "results",
-                                 result );
+		final RuleBase ruleBase = getRuleBase();
+		ruleBase.addPackage(pkg);
+		final WorkingMemory workingMemory = ruleBase.newStatefulSession();
+		final List result = new ArrayList();
+		workingMemory.setGlobal("results", result);
 
-        final Person person = new Person( "bob" );
-        final Cheese cheese = new Cheese( "brie",
-                                          10 );
+		final Person person = new Person("bob");
+		final Cheese cheese = new Cheese("brie", 10);
 
-        workingMemory.insert( person );
-        workingMemory.insert( cheese );
+		workingMemory.insert(person);
+		workingMemory.insert(cheese);
 
-        workingMemory.fireAllRules();
-        assertEquals( 4,
-                      result.size() );
-    }
+		workingMemory.fireAllRules();
+		assertEquals(4, result.size());
+	}
 
-    public void testDuplicateVariableBinding() throws Exception {
-        final PackageBuilder builder = new PackageBuilder();
-        builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_duplicateVariableBinding.drl" ) ) );
-        final Package pkg = builder.getPackage();
+	public void testDuplicateVariableBinding() throws Exception {
+		final PackageBuilder builder = new PackageBuilder();
+		builder.addPackageFromDrl(new InputStreamReader(getClass()
+				.getResourceAsStream("test_duplicateVariableBinding.drl")));
+		final Package pkg = builder.getPackage();
 
-        final RuleBase ruleBase = getRuleBase();
-        ruleBase.addPackage( pkg );
-        final WorkingMemory workingMemory = ruleBase.newStatefulSession();
-        final Map result = new HashMap();
-        workingMemory.setGlobal( "results",
-                                 result );
+		final RuleBase ruleBase = getRuleBase();
+		ruleBase.addPackage(pkg);
+		final WorkingMemory workingMemory = ruleBase.newStatefulSession();
+		final Map result = new HashMap();
+		workingMemory.setGlobal("results", result);
 
-        final Cheese stilton = new Cheese( "stilton",
-                                           20 );
-        final Cheese brie = new Cheese( "brie",
-                                        10 );
+		final Cheese stilton = new Cheese("stilton", 20);
+		final Cheese brie = new Cheese("brie", 10);
 
-        workingMemory.insert( stilton );
-        workingMemory.insert( brie );
+		workingMemory.insert(stilton);
+		workingMemory.insert(brie);
 
-        workingMemory.fireAllRules();
-        assertEquals( 5,
-                      result.size() );
-        assertEquals( stilton.getPrice(),
-                      ((Integer) result.get( stilton.getType() )).intValue() );
-        assertEquals( brie.getPrice(),
-                      ((Integer) result.get( brie.getType() )).intValue() );
+		workingMemory.fireAllRules();
+		assertEquals(5, result.size());
+		assertEquals(stilton.getPrice(), ((Integer) result.get(stilton
+				.getType())).intValue());
+		assertEquals(brie.getPrice(), ((Integer) result.get(brie.getType()))
+				.intValue());
 
-        assertEquals( stilton.getPrice(),
-                      ((Integer) result.get( stilton )).intValue() );
-        assertEquals( brie.getPrice(),
-                      ((Integer) result.get( brie )).intValue() );
+		assertEquals(stilton.getPrice(), ((Integer) result.get(stilton))
+				.intValue());
+		assertEquals(brie.getPrice(), ((Integer) result.get(brie)).intValue());
 
-        assertEquals( stilton.getPrice(),
-                      ((Integer) result.get( "test3" + stilton.getType() )).intValue() );
+		assertEquals(stilton.getPrice(), ((Integer) result.get("test3"
+				+ stilton.getType())).intValue());
 
-        workingMemory.insert( new Person( "bob",
-                                          brie.getType() ) );
-        workingMemory.fireAllRules();
+		workingMemory.insert(new Person("bob", brie.getType()));
+		workingMemory.fireAllRules();
 
-        assertEquals( 6,
-                      result.size() );
-        assertEquals( brie.getPrice(),
-                      ((Integer) result.get( "test3" + brie.getType() )).intValue() );
-    }
+		assertEquals(6, result.size());
+		assertEquals(brie.getPrice(), ((Integer) result.get("test3"
+				+ brie.getType())).intValue());
+	}
 
-    public void testDuplicateVariableBindingError() throws Exception {
-        final PackageBuilder builder = new PackageBuilder();
-        builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_duplicateVariableBindingError.drl" ) ) );
-        final Package pkg = builder.getPackage();
+	public void testDuplicateVariableBindingError() throws Exception {
+		final PackageBuilder builder = new PackageBuilder();
+		builder
+				.addPackageFromDrl(new InputStreamReader(getClass()
+						.getResourceAsStream(
+								"test_duplicateVariableBindingError.drl")));
+		final Package pkg = builder.getPackage();
 
-        assertFalse( pkg.isValid() );
-        System.out.println( pkg.getErrorSummary() );
-        assertEquals( 6,
-                      pkg.getErrorSummary().split( "\n" ).length );
-    }
+		assertFalse(pkg.isValid());
+		System.out.println(pkg.getErrorSummary());
+		assertEquals(6, pkg.getErrorSummary().split("\n").length);
+	}
 
-    public void testShadowProxyInHirarchies() throws Exception {
-        final PackageBuilder builder = new PackageBuilder();
-        builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_ShadowProxyInHirarchies.drl" ) ) );
-        final Package pkg = builder.getPackage();
+	public void testShadowProxyInHirarchies() throws Exception {
+		final PackageBuilder builder = new PackageBuilder();
+		builder.addPackageFromDrl(new InputStreamReader(getClass()
+				.getResourceAsStream("test_ShadowProxyInHirarchies.drl")));
+		final Package pkg = builder.getPackage();
 
-        final RuleBase ruleBase = getRuleBase();
-        ruleBase.addPackage( pkg );
-        final WorkingMemory workingMemory = ruleBase.newStatefulSession();
+		final RuleBase ruleBase = getRuleBase();
+		ruleBase.addPackage(pkg);
+		final WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
-        workingMemory.insert( new Child( "gp" ) );
+		workingMemory.insert(new Child("gp"));
 
-        workingMemory.fireAllRules();
-    }
+		workingMemory.fireAllRules();
+	}
 
-    public void testSelfReference() throws Exception {
-        final PackageBuilder builder = new PackageBuilder();
-        builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_SelfReference.drl" ) ) );
-        final Package pkg = builder.getPackage();
+	public void testSelfReference() throws Exception {
+		final PackageBuilder builder = new PackageBuilder();
+		builder.addPackageFromDrl(new InputStreamReader(getClass()
+				.getResourceAsStream("test_SelfReference.drl")));
+		final Package pkg = builder.getPackage();
 
-        final RuleBase ruleBase = getRuleBase();
-        ruleBase.addPackage( pkg );
-        final WorkingMemory workingMemory = ruleBase.newStatefulSession();
+		final RuleBase ruleBase = getRuleBase();
+		ruleBase.addPackage(pkg);
+		final WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
-        final List results = new ArrayList();
-        workingMemory.setGlobal( "results",
-                                 results );
+		final List results = new ArrayList();
+		workingMemory.setGlobal("results", results);
 
-        final Order order = new Order( 10,
-                                       "Bob" );
-        final OrderItem item1 = new OrderItem( order,
-                                               1 );
-        final OrderItem item2 = new OrderItem( order,
-                                               2 );
-        final OrderItem anotherItem1 = new OrderItem( null,
-                                                      3 );
-        final OrderItem anotherItem2 = new OrderItem( null,
-                                                      4 );
-        workingMemory.insert( order );
-        workingMemory.insert( item1 );
-        workingMemory.insert( item2 );
-        workingMemory.insert( anotherItem1 );
-        workingMemory.insert( anotherItem2 );
+		final Order order = new Order(10, "Bob");
+		final OrderItem item1 = new OrderItem(order, 1);
+		final OrderItem item2 = new OrderItem(order, 2);
+		final OrderItem anotherItem1 = new OrderItem(null, 3);
+		final OrderItem anotherItem2 = new OrderItem(null, 4);
+		workingMemory.insert(order);
+		workingMemory.insert(item1);
+		workingMemory.insert(item2);
+		workingMemory.insert(anotherItem1);
+		workingMemory.insert(anotherItem2);
 
-        workingMemory.fireAllRules();
+		workingMemory.fireAllRules();
 
-        assertEquals( 2,
-                      results.size() );
-        assertTrue( results.contains( item1 ) );
-        assertTrue( results.contains( item2 ) );
-    }
+		assertEquals(2, results.size());
+		assertTrue(results.contains(item1));
+		assertTrue(results.contains(item2));
+	}
 
-    public void testNumberComparisons() throws Exception {
-        final PackageBuilder builder = new PackageBuilder();
-        builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_NumberComparisons.drl" ) ) );
-        final Package pkg = builder.getPackage();
+	public void testNumberComparisons() throws Exception {
+		final PackageBuilder builder = new PackageBuilder();
+		builder.addPackageFromDrl(new InputStreamReader(getClass()
+				.getResourceAsStream("test_NumberComparisons.drl")));
+		final Package pkg = builder.getPackage();
 
-        final RuleBase ruleBase = getRuleBase();
-        ruleBase.addPackage( pkg );
-        final WorkingMemory workingMemory = ruleBase.newStatefulSession();
+		final RuleBase ruleBase = getRuleBase();
+		ruleBase.addPackage(pkg);
+		final WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
-        final List list = new ArrayList();
-        workingMemory.setGlobal( "results",
-                                 list );
+		final List list = new ArrayList();
+		workingMemory.setGlobal("results", list);
 
-        // asserting the sensor object
-        final RandomNumber rn = new RandomNumber();
-        rn.setValue( 10 );
-        workingMemory.insert( rn );
+		// asserting the sensor object
+		final RandomNumber rn = new RandomNumber();
+		rn.setValue(10);
+		workingMemory.insert(rn);
 
-        final Guess guess = new Guess();
-        guess.setValue( new Integer( 5 ) );
+		final Guess guess = new Guess();
+		guess.setValue(new Integer(5));
 
-        final FactHandle handle = workingMemory.insert( guess );
+		final FactHandle handle = workingMemory.insert(guess);
 
-        workingMemory.fireAllRules();
+		workingMemory.fireAllRules();
 
-        // HIGHER
-        assertEquals( 1,
-                      list.size() );
-        assertEquals( "HIGHER",
-                      list.get( 0 ) );
+		// HIGHER
+		assertEquals(1, list.size());
+		assertEquals("HIGHER", list.get(0));
 
-        guess.setValue( new Integer( 15 ) );
-        workingMemory.update( handle,
-                              guess );
+		guess.setValue(new Integer(15));
+		workingMemory.update(handle, guess);
 
-        workingMemory.fireAllRules();
+		workingMemory.fireAllRules();
 
-        // LOWER
-        assertEquals( 2,
-                      list.size() );
-        assertEquals( "LOWER",
-                      list.get( 1 ) );
+		// LOWER
+		assertEquals(2, list.size());
+		assertEquals("LOWER", list.get(1));
 
-        guess.setValue( new Integer( 10 ) );
-        workingMemory.update( handle,
-                              guess );
+		guess.setValue(new Integer(10));
+		workingMemory.update(handle, guess);
 
-        workingMemory.fireAllRules();
+		workingMemory.fireAllRules();
 
-        // CORRECT
-        assertEquals( 3,
-                      list.size() );
-        assertEquals( "CORRECT",
-                      list.get( 2 ) );
+		// CORRECT
+		assertEquals(3, list.size());
+		assertEquals("CORRECT", list.get(2));
 
-    }
+	}
 
-    public void testSkipModify() throws Exception {
-        final PackageBuilder builder = new PackageBuilder();
-        builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_skipModify.drl" ) ) );
-        final Package pkg = builder.getPackage();
+	public void testSkipModify() throws Exception {
+		final PackageBuilder builder = new PackageBuilder();
+		builder.addPackageFromDrl(new InputStreamReader(getClass()
+				.getResourceAsStream("test_skipModify.drl")));
+		final Package pkg = builder.getPackage();
 
-        final RuleBase ruleBase = getRuleBase();
-        ruleBase.addPackage( pkg );
-        final WorkingMemory workingMemory = ruleBase.newStatefulSession();
+		final RuleBase ruleBase = getRuleBase();
+		ruleBase.addPackage(pkg);
+		final WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
-        final List results = new ArrayList();
-        workingMemory.setGlobal( "results",
-                                 results );
+		final List results = new ArrayList();
+		workingMemory.setGlobal("results", results);
 
-        final Cheese cheese = new Cheese( "brie",
-                                          10 );
-        final FactHandle handle = workingMemory.insert( cheese );
+		final Cheese cheese = new Cheese("brie", 10);
+		final FactHandle handle = workingMemory.insert(cheese);
 
-        final Person bob = new Person( "bob",
-                                       "stilton" );
-        workingMemory.insert( bob );
+		final Person bob = new Person("bob", "stilton");
+		workingMemory.insert(bob);
 
-        cheese.setType( "stilton" );
-        workingMemory.update( handle,
-                              cheese );
-        workingMemory.fireAllRules();
-        assertEquals( 2,
-                      results.size() );
-    }
+		cheese.setType("stilton");
+		workingMemory.update(handle, cheese);
+		workingMemory.fireAllRules();
+		assertEquals(2, results.size());
+	}
 
-    public void testEventModel() throws Exception {
-        final PackageBuilder builder = new PackageBuilder();
-        builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_EventModel.drl" ) ) );
-        final Package pkg = builder.getPackage();
+	public void testEventModel() throws Exception {
+		final PackageBuilder builder = new PackageBuilder();
+		builder.addPackageFromDrl(new InputStreamReader(getClass()
+				.getResourceAsStream("test_EventModel.drl")));
+		final Package pkg = builder.getPackage();
 
-        final RuleBase ruleBase = getRuleBase();
-        ruleBase.addPackage( pkg );
-        final WorkingMemory wm = ruleBase.newStatefulSession();
+		final RuleBase ruleBase = getRuleBase();
+		ruleBase.addPackage(pkg);
+		final WorkingMemory wm = ruleBase.newStatefulSession();
 
-        final List agendaList = new ArrayList();
-        final AgendaEventListener agendaEventListener = new AgendaEventListener() {
+		final List agendaList = new ArrayList();
+		final AgendaEventListener agendaEventListener = new AgendaEventListener() {
 
-            public void activationCancelled(ActivationCancelledEvent event,
-                                            WorkingMemory workingMemory) {
-                agendaList.add( event );
+			public void activationCancelled(ActivationCancelledEvent event,
+					WorkingMemory workingMemory) {
+				agendaList.add(event);
 
-            }
+			}
 
-            public void activationCreated(ActivationCreatedEvent event,
-                                          WorkingMemory workingMemory) {
-                agendaList.add( event );
-            }
+			public void activationCreated(ActivationCreatedEvent event,
+					WorkingMemory workingMemory) {
+				agendaList.add(event);
+			}
 
-            public void afterActivationFired(AfterActivationFiredEvent event,
-                                             WorkingMemory workingMemory) {
-                agendaList.add( event );
-            }
+			public void afterActivationFired(AfterActivationFiredEvent event,
+					WorkingMemory workingMemory) {
+				agendaList.add(event);
+			}
 
-            public void agendaGroupPopped(AgendaGroupPoppedEvent event,
-                                          WorkingMemory workingMemory) {
-                agendaList.add( event );
-            }
+			public void agendaGroupPopped(AgendaGroupPoppedEvent event,
+					WorkingMemory workingMemory) {
+				agendaList.add(event);
+			}
 
-            public void agendaGroupPushed(AgendaGroupPushedEvent event,
-                                          WorkingMemory workingMemory) {
-                agendaList.add( event );
-            }
+			public void agendaGroupPushed(AgendaGroupPushedEvent event,
+					WorkingMemory workingMemory) {
+				agendaList.add(event);
+			}
 
-            public void beforeActivationFired(BeforeActivationFiredEvent event,
-                                              WorkingMemory workingMemory) {
-                agendaList.add( event );
-            }
+			public void beforeActivationFired(BeforeActivationFiredEvent event,
+					WorkingMemory workingMemory) {
+				agendaList.add(event);
+			}
 
-        };
+		};
 
-        final List wmList = new ArrayList();
-        final WorkingMemoryEventListener workingMemoryListener = new WorkingMemoryEventListener() {
+		final List wmList = new ArrayList();
+		final WorkingMemoryEventListener workingMemoryListener = new WorkingMemoryEventListener() {
 
-            public void objectInserted(ObjectInsertedEvent event) {
-                wmList.add( event );
-            }
+			public void objectInserted(ObjectInsertedEvent event) {
+				wmList.add(event);
+			}
 
-            public void objectUpdated(ObjectUpdatedEvent event) {
-                wmList.add( event );
-            }
+			public void objectUpdated(ObjectUpdatedEvent event) {
+				wmList.add(event);
+			}
 
-            public void objectRetracted(ObjectRetractedEvent event) {
-                wmList.add( event );
-            }
+			public void objectRetracted(ObjectRetractedEvent event) {
+				wmList.add(event);
+			}
 
-        };
+		};
 
-        wm.addEventListener( workingMemoryListener );
+		wm.addEventListener(workingMemoryListener);
 
-        final Cheese stilton = new Cheese( "stilton",
-                                           15 );
-        final Cheese cheddar = new Cheese( "cheddar",
-                                           17 );
+		final Cheese stilton = new Cheese("stilton", 15);
+		final Cheese cheddar = new Cheese("cheddar", 17);
 
-        final FactHandle stiltonHandle = wm.insert( stilton );
+		final FactHandle stiltonHandle = wm.insert(stilton);
 
-        final ObjectInsertedEvent oae = (ObjectInsertedEvent) wmList.get( 0 );
-        assertSame( stiltonHandle,
-                    oae.getFactHandle() );
+		final ObjectInsertedEvent oae = (ObjectInsertedEvent) wmList.get(0);
+		assertSame(stiltonHandle, oae.getFactHandle());
 
-        wm.update( stiltonHandle,
-                   stilton );
-        final ObjectUpdatedEvent ome = (ObjectUpdatedEvent) wmList.get( 1 );
-        assertSame( stiltonHandle,
-                    ome.getFactHandle() );
+		wm.update(stiltonHandle, stilton);
+		final ObjectUpdatedEvent ome = (ObjectUpdatedEvent) wmList.get(1);
+		assertSame(stiltonHandle, ome.getFactHandle());
 
-        wm.retract( stiltonHandle );
-        final ObjectRetractedEvent ore = (ObjectRetractedEvent) wmList.get( 2 );
-        assertSame( stiltonHandle,
-                    ore.getFactHandle() );
+		wm.retract(stiltonHandle);
+		final ObjectRetractedEvent ore = (ObjectRetractedEvent) wmList.get(2);
+		assertSame(stiltonHandle, ore.getFactHandle());
 
-        wm.insert( cheddar );
-    }
+		wm.insert(cheddar);
+	}
 
-    public void testImplicitDeclarations() throws Exception {
-        final PackageBuilder builder = new PackageBuilder();
-        builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_implicitDeclarations.drl" ) ) );
-        final Package pkg = builder.getPackage();
+	public void testImplicitDeclarations() throws Exception {
+		final PackageBuilder builder = new PackageBuilder();
+		builder.addPackageFromDrl(new InputStreamReader(getClass()
+				.getResourceAsStream("test_implicitDeclarations.drl")));
+		final Package pkg = builder.getPackage();
 
-        final RuleBase ruleBase = getRuleBase();
-        ruleBase.addPackage( pkg );
-        final WorkingMemory workingMemory = ruleBase.newStatefulSession();
+		final RuleBase ruleBase = getRuleBase();
+		ruleBase.addPackage(pkg);
+		final WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
-        final List results = new ArrayList();
-        workingMemory.setGlobal( "results",
-                                 results );
-        workingMemory.setGlobal( "factor",
-                                 new Double( 1.2 ) );
+		final List results = new ArrayList();
+		workingMemory.setGlobal("results", results);
+		workingMemory.setGlobal("factor", new Double(1.2));
 
-        final Cheese cheese = new Cheese( "stilton",
-                                          10 );
-        workingMemory.insert( cheese );
+		final Cheese cheese = new Cheese("stilton", 10);
+		workingMemory.insert(cheese);
 
-        workingMemory.fireAllRules();
-        assertEquals( 1,
-                      results.size() );
-    }
+		workingMemory.fireAllRules();
+		assertEquals(1, results.size());
+	}
 
-    public void testCastingInsideEvals() throws Exception {
-        final PackageBuilder builder = new PackageBuilder();
-        builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_castsInsideEval.drl" ) ) );
-        final Package pkg = builder.getPackage();
+	public void testCastingInsideEvals() throws Exception {
+		final PackageBuilder builder = new PackageBuilder();
+		builder.addPackageFromDrl(new InputStreamReader(getClass()
+				.getResourceAsStream("test_castsInsideEval.drl")));
+		final Package pkg = builder.getPackage();
 
-        final RuleBase ruleBase = getRuleBase();
-        ruleBase.addPackage( pkg );
-        final WorkingMemory workingMemory = ruleBase.newStatefulSession();
+		final RuleBase ruleBase = getRuleBase();
+		ruleBase.addPackage(pkg);
+		final WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
-        workingMemory.setGlobal( "value",
-                                 new Integer( 20 ) );
+		workingMemory.setGlobal("value", new Integer(20));
 
-        workingMemory.fireAllRules();
-    }
+		workingMemory.fireAllRules();
+	}
 
-    public void testMemberOfAndNotMemberOf() throws Exception {
-        final PackageBuilder builder = new PackageBuilder();
-        builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_memberOf.drl" ) ) );
-        final Package pkg = builder.getPackage();
+	public void testMemberOfAndNotMemberOf() throws Exception {
+		final PackageBuilder builder = new PackageBuilder();
+		builder.addPackageFromDrl(new InputStreamReader(getClass()
+				.getResourceAsStream("test_memberOf.drl")));
+		final Package pkg = builder.getPackage();
 
-        final RuleBase ruleBase = getRuleBase();
-        ruleBase.addPackage( pkg );
-        final WorkingMemory workingMemory = ruleBase.newStatefulSession();
+		final RuleBase ruleBase = getRuleBase();
+		ruleBase.addPackage(pkg);
+		final WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
-        final List list = new ArrayList();
-        workingMemory.setGlobal( "list",
-                                 list );
+		final List list = new ArrayList();
+		workingMemory.setGlobal("list", list);
 
-        final Cheese stilton = new Cheese( "stilton",
-                                           12 );
-        final Cheese muzzarela = new Cheese( "muzzarela",
-                                             10 );
-        final Cheese brie = new Cheese( "brie",
-                                        15 );
-        workingMemory.insert( stilton );
-        workingMemory.insert( muzzarela );
+		final Cheese stilton = new Cheese("stilton", 12);
+		final Cheese muzzarela = new Cheese("muzzarela", 10);
+		final Cheese brie = new Cheese("brie", 15);
+		workingMemory.insert(stilton);
+		workingMemory.insert(muzzarela);
 
-        final Cheesery cheesery = new Cheesery();
-        cheesery.getCheeses().add( stilton.getType() );
-        cheesery.getCheeses().add( brie.getType() );
-        workingMemory.insert( cheesery );
+		final Cheesery cheesery = new Cheesery();
+		cheesery.getCheeses().add(stilton.getType());
+		cheesery.getCheeses().add(brie.getType());
+		workingMemory.insert(cheesery);
 
-        workingMemory.fireAllRules();
+		workingMemory.fireAllRules();
 
-        assertEquals( 2,
-                      list.size() );
+		assertEquals(2, list.size());
 
-        assertEquals( stilton,
-                      list.get( 0 ) );
-        assertEquals( muzzarela,
-                      list.get( 1 ) );
-    }
+		assertEquals(stilton, list.get(0));
+		assertEquals(muzzarela, list.get(1));
+	}
 
-    public void testContainsInArray() throws Exception {
-        final PackageBuilder builder = new PackageBuilder();
-        builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_contains_in_array.drl" ) ) );
-        final Package pkg = builder.getPackage();
+	public void testContainsInArray() throws Exception {
+		final PackageBuilder builder = new PackageBuilder();
+		builder.addPackageFromDrl(new InputStreamReader(getClass()
+				.getResourceAsStream("test_contains_in_array.drl")));
+		final Package pkg = builder.getPackage();
 
-        final RuleBase ruleBase = getRuleBase();
-        ruleBase.addPackage( pkg );
-        final WorkingMemory workingMemory = ruleBase.newStatefulSession();
+		final RuleBase ruleBase = getRuleBase();
+		ruleBase.addPackage(pkg);
+		final WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
-        final List list = new ArrayList();
-        workingMemory.setGlobal( "list",
-                                 list );
+		final List list = new ArrayList();
+		workingMemory.setGlobal("list", list);
 
-        final Primitives p = new Primitives();
-        p.setStringArray( new String[]{"test1", "test3"} );
-        workingMemory.insert( p );
+		final Primitives p = new Primitives();
+		p.setStringArray(new String[] { "test1", "test3" });
+		workingMemory.insert(p);
 
-        workingMemory.fireAllRules();
+		workingMemory.fireAllRules();
 
-        assertEquals( 2,
-                      list.size() );
+		assertEquals(2, list.size());
 
-        assertEquals( "ok1",
-                      list.get( 0 ) );
-        assertEquals( "ok2",
-                      list.get( 1 ) );
-    }
+		assertEquals("ok1", list.get(0));
+		assertEquals("ok2", list.get(1));
+	}
 
-    public void testCollectNodeSharing() throws Exception {
-        final PackageBuilder builder = new PackageBuilder();
-        builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_collectNodeSharing.drl" ) ) );
-        final Package pkg = builder.getPackage();
+	public void testCollectNodeSharing() throws Exception {
+		final PackageBuilder builder = new PackageBuilder();
+		builder.addPackageFromDrl(new InputStreamReader(getClass()
+				.getResourceAsStream("test_collectNodeSharing.drl")));
+		final Package pkg = builder.getPackage();
 
-        final RuleBase ruleBase = getRuleBase();
-        ruleBase.addPackage( pkg );
-        final WorkingMemory workingMemory = ruleBase.newStatefulSession();
+		final RuleBase ruleBase = getRuleBase();
+		ruleBase.addPackage(pkg);
+		final WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
-        final List list = new ArrayList();
-        workingMemory.setGlobal( "results",
-                                 list );
+		final List list = new ArrayList();
+		workingMemory.setGlobal("results", list);
 
-        workingMemory.insert( new Cheese( "stilton",
-                                          10 ) );
-        workingMemory.insert( new Cheese( "brie",
-                                          15 ) );
+		workingMemory.insert(new Cheese("stilton", 10));
+		workingMemory.insert(new Cheese("brie", 15));
 
-        workingMemory.fireAllRules();
+		workingMemory.fireAllRules();
 
-        assertEquals( 1,
-                      list.size() );
+		assertEquals(1, list.size());
 
-        assertEquals( 2,
-                      ((List) list.get( 0 )).size() );
-    }
+		assertEquals(2, ((List) list.get(0)).size());
+	}
 
-    public void testNodeSharingNotExists() throws Exception {
-        final PackageBuilder builder = new PackageBuilder();
-        builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_nodeSharingNotExists.drl" ) ) );
-        final Package pkg = builder.getPackage();
+	public void testNodeSharingNotExists() throws Exception {
+		final PackageBuilder builder = new PackageBuilder();
+		builder.addPackageFromDrl(new InputStreamReader(getClass()
+				.getResourceAsStream("test_nodeSharingNotExists.drl")));
+		final Package pkg = builder.getPackage();
 
-        final RuleBase ruleBase = getRuleBase();
-        ruleBase.addPackage( pkg );
-        final WorkingMemory workingMemory = ruleBase.newStatefulSession();
+		final RuleBase ruleBase = getRuleBase();
+		ruleBase.addPackage(pkg);
+		final WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
-        final List list = new ArrayList();
-        workingMemory.setGlobal( "results",
-                                 list );
+		final List list = new ArrayList();
+		workingMemory.setGlobal("results", list);
 
-        workingMemory.fireAllRules();
+		workingMemory.fireAllRules();
 
-        assertEquals( 1,
-                      list.size() );
+		assertEquals(1, list.size());
 
-        assertEquals( "rule1",
-                      list.get( 0 ) );
+		assertEquals("rule1", list.get(0));
 
-        workingMemory.insert( new Cheese( "stilton",
-                                          10 ) );
-        workingMemory.fireAllRules();
+		workingMemory.insert(new Cheese("stilton", 10));
+		workingMemory.fireAllRules();
 
-        assertEquals( 2,
-                      list.size() );
+		assertEquals(2, list.size());
 
-        assertEquals( "rule2",
-                      list.get( 1 ) );
+		assertEquals("rule2", list.get(1));
 
-    }
+	}
 
-    public void testNullBinding() throws Exception {
-        final PackageBuilder builder = new PackageBuilder();
-        builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_nullBindings.drl" ) ) );
-        final Package pkg = builder.getPackage();
+	public void testNullBinding() throws Exception {
+		final PackageBuilder builder = new PackageBuilder();
+		builder.addPackageFromDrl(new InputStreamReader(getClass()
+				.getResourceAsStream("test_nullBindings.drl")));
+		final Package pkg = builder.getPackage();
 
-        final RuleBase ruleBase = getRuleBase();
-        ruleBase.addPackage( pkg );
-        final WorkingMemory workingMemory = ruleBase.newStatefulSession();
+		final RuleBase ruleBase = getRuleBase();
+		ruleBase.addPackage(pkg);
+		final WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
-        final List list = new ArrayList();
-        workingMemory.setGlobal( "results",
-                                 list );
+		final List list = new ArrayList();
+		workingMemory.setGlobal("results", list);
 
-        workingMemory.insert( new Person( "bob" ) );
-        workingMemory.insert( new Person( null ) );
+		workingMemory.insert(new Person("bob"));
+		workingMemory.insert(new Person(null));
 
-        workingMemory.fireAllRules();
+		workingMemory.fireAllRules();
 
-        assertEquals( 1,
-                      list.size() );
+		assertEquals(1, list.size());
 
-        assertEquals( "OK",
-                      list.get( 0 ) );
+		assertEquals("OK", list.get(0));
 
-    }
+	}
 
-    public void testModifyRetractWithFunction() throws Exception {
-        final PackageBuilder builder = new PackageBuilder();
-        builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_RetractModifyWithFunction.drl" ) ) );
-        final Package pkg = builder.getPackage();
+	public void testModifyRetractWithFunction() throws Exception {
+		final PackageBuilder builder = new PackageBuilder();
+		builder.addPackageFromDrl(new InputStreamReader(getClass()
+				.getResourceAsStream("test_RetractModifyWithFunction.drl")));
+		final Package pkg = builder.getPackage();
 
-        final RuleBase ruleBase = getRuleBase();
-        ruleBase.addPackage( pkg );
-        final AbstractWorkingMemory workingMemory = (AbstractWorkingMemory) ruleBase.newStatefulSession();
+		final RuleBase ruleBase = getRuleBase();
+		ruleBase.addPackage(pkg);
+		final AbstractWorkingMemory workingMemory = (AbstractWorkingMemory) ruleBase
+				.newStatefulSession();
 
-        final Cheese stilton = new Cheese( "stilton",
-                                           7 );
-        final Cheese muzzarella = new Cheese( "muzzarella",
-                                              9 );
-        final int sum = stilton.getPrice() + muzzarella.getPrice();
-        final FactHandle stiltonHandle = workingMemory.insert( stilton );
-        final FactHandle muzzarellaHandle = workingMemory.insert( muzzarella );
+		final Cheese stilton = new Cheese("stilton", 7);
+		final Cheese muzzarella = new Cheese("muzzarella", 9);
+		final int sum = stilton.getPrice() + muzzarella.getPrice();
+		final FactHandle stiltonHandle = workingMemory.insert(stilton);
+		final FactHandle muzzarellaHandle = workingMemory.insert(muzzarella);
 
-        workingMemory.fireAllRules();
+		workingMemory.fireAllRules();
 
-        assertEquals( sum,
-                      stilton.getPrice() );
-        assertEquals( 1,
-                      workingMemory.getFactHandleMap().size() );
-        assertNotNull( workingMemory.getObject( stiltonHandle ) );
-        assertNotNull( workingMemory.getFactHandle( stilton ) );
+		assertEquals(sum, stilton.getPrice());
+		assertEquals(1, workingMemory.getFactHandleMap().size());
+		assertNotNull(workingMemory.getObject(stiltonHandle));
+		assertNotNull(workingMemory.getFactHandle(stilton));
 
-        assertNull( workingMemory.getObject( muzzarellaHandle ) );
-        assertNull( workingMemory.getFactHandle( muzzarella ) );
+		assertNull(workingMemory.getObject(muzzarellaHandle));
+		assertNull(workingMemory.getFactHandle(muzzarella));
 
-    }
+	}
 
-    public void testConstraintConnectors() throws Exception {
-        final PackageBuilder builder = new PackageBuilder();
-        builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_ConstraintConnectors.drl" ) ) );
-        final Package pkg = builder.getPackage();
+	public void testConstraintConnectors() throws Exception {
+		final PackageBuilder builder = new PackageBuilder();
+		builder.addPackageFromDrl(new InputStreamReader(getClass()
+				.getResourceAsStream("test_ConstraintConnectors.drl")));
+		final Package pkg = builder.getPackage();
 
-        final RuleBase ruleBase = getRuleBase();
-        ruleBase.addPackage( pkg );
-        final WorkingMemory workingMemory = ruleBase.newStatefulSession();
+		final RuleBase ruleBase = getRuleBase();
+		ruleBase.addPackage(pkg);
+		final WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
-        final List results = new ArrayList();
-        workingMemory.setGlobal( "results",
-                                 results );
+		final List results = new ArrayList();
+		workingMemory.setGlobal("results", results);
 
-        final Person youngChili1 = new Person( "young chili1" );
-        youngChili1.setAge( 12 );
-        youngChili1.setHair( "blue" );
-        final Person youngChili2 = new Person( "young chili2" );
-        youngChili2.setAge( 25 );
-        youngChili2.setHair( "purple" );
+		final Person youngChili1 = new Person("young chili1");
+		youngChili1.setAge(12);
+		youngChili1.setHair("blue");
+		final Person youngChili2 = new Person("young chili2");
+		youngChili2.setAge(25);
+		youngChili2.setHair("purple");
 
-        final Person chili1 = new Person( "chili1" );
-        chili1.setAge( 35 );
-        chili1.setHair( "red" );
+		final Person chili1 = new Person("chili1");
+		chili1.setAge(35);
+		chili1.setHair("red");
 
-        final Person chili2 = new Person( "chili2" );
-        chili2.setAge( 38 );
-        chili2.setHair( "indigigo" );
+		final Person chili2 = new Person("chili2");
+		chili2.setAge(38);
+		chili2.setHair("indigigo");
 
-        final Person oldChili1 = new Person( "old chili1" );
-        oldChili1.setAge( 45 );
-        oldChili1.setHair( "green" );
+		final Person oldChili1 = new Person("old chili1");
+		oldChili1.setAge(45);
+		oldChili1.setHair("green");
 
-        final Person oldChili2 = new Person( "old chili2" );
-        oldChili2.setAge( 48 );
-        oldChili2.setHair( "blue" );
+		final Person oldChili2 = new Person("old chili2");
+		oldChili2.setAge(48);
+		oldChili2.setHair("blue");
 
-        final Person veryold = new Person( "very old" );
-        veryold.setAge( 99 );
-        veryold.setHair( "gray" );
+		final Person veryold = new Person("very old");
+		veryold.setAge(99);
+		veryold.setHair("gray");
 
-        workingMemory.insert( youngChili1 );
-        workingMemory.insert( youngChili2 );
-        workingMemory.insert( chili1 );
-        workingMemory.insert( chili2 );
-        workingMemory.insert( oldChili1 );
-        workingMemory.insert( oldChili2 );
-        workingMemory.insert( veryold );
+		workingMemory.insert(youngChili1);
+		workingMemory.insert(youngChili2);
+		workingMemory.insert(chili1);
+		workingMemory.insert(chili2);
+		workingMemory.insert(oldChili1);
+		workingMemory.insert(oldChili2);
+		workingMemory.insert(veryold);
 
-        workingMemory.fireAllRules();
+		workingMemory.fireAllRules();
 
-        assertEquals( 4,
-                      results.size() );
-        assertEquals( chili1,
-                      results.get( 0 ) );
-        assertEquals( oldChili1,
-                      results.get( 1 ) );
-        assertEquals( youngChili1,
-                      results.get( 2 ) );
-        assertEquals( veryold,
-                      results.get( 3 ) );
-    }
+		assertEquals(4, results.size());
+		assertEquals(chili1, results.get(0));
+		assertEquals(oldChili1, results.get(1));
+		assertEquals(youngChili1, results.get(2));
+		assertEquals(veryold, results.get(3));
+	}
 
-    public void testMatchesNotMatchesCheese() throws Exception {
-        final PackageBuilder builder = new PackageBuilder();
-        builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_MatchesNotMatches.drl" ) ) );
-        final Package pkg = builder.getPackage();
+	public void testMatchesNotMatchesCheese() throws Exception {
+		final PackageBuilder builder = new PackageBuilder();
+		builder.addPackageFromDrl(new InputStreamReader(getClass()
+				.getResourceAsStream("test_MatchesNotMatches.drl")));
+		final Package pkg = builder.getPackage();
 
-        final RuleBase ruleBase = getRuleBase();
-        ruleBase.addPackage( pkg );
-        final WorkingMemory workingMemory = ruleBase.newStatefulSession();
+		final RuleBase ruleBase = getRuleBase();
+		ruleBase.addPackage(pkg);
+		final WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
-        final List list = new ArrayList();
-        workingMemory.setGlobal( "list",
-                                 list );
+		final List list = new ArrayList();
+		workingMemory.setGlobal("list", list);
 
-        final Cheese stilton = new Cheese( "stilton",
-                                           12 );
-        final Cheese stilton2 = new Cheese( "stilton2",
-                                            12 );
-        final Cheese agedStilton = new Cheese( "aged stilton",
-                                               12 );
-        final Cheese brie = new Cheese( "brie",
-                                        10 );
-        final Cheese brie2 = new Cheese( "brie2",
-                                         10 );
-        final Cheese muzzarella = new Cheese( "muzzarella",
-                                              10 );
-        final Cheese muzzarella2 = new Cheese( "muzzarella2",
-                                               10 );
-        final Cheese provolone = new Cheese( "provolone",
-                                              10 );
-        final Cheese provolone2 = new Cheese( "another cheese (provolone)",
-                                               10 );
-        workingMemory.insert( stilton );
-        workingMemory.insert( stilton2 );
-        workingMemory.insert( agedStilton );
-        workingMemory.insert( brie );
-        workingMemory.insert( brie2 );
-        workingMemory.insert( muzzarella );
-        workingMemory.insert( muzzarella2 );
-        workingMemory.insert( provolone );
-        workingMemory.insert( provolone2 );
+		final Cheese stilton = new Cheese("stilton", 12);
+		final Cheese stilton2 = new Cheese("stilton2", 12);
+		final Cheese agedStilton = new Cheese("aged stilton", 12);
+		final Cheese brie = new Cheese("brie", 10);
+		final Cheese brie2 = new Cheese("brie2", 10);
+		final Cheese muzzarella = new Cheese("muzzarella", 10);
+		final Cheese muzzarella2 = new Cheese("muzzarella2", 10);
+		final Cheese provolone = new Cheese("provolone", 10);
+		final Cheese provolone2 = new Cheese("another cheese (provolone)", 10);
+		workingMemory.insert(stilton);
+		workingMemory.insert(stilton2);
+		workingMemory.insert(agedStilton);
+		workingMemory.insert(brie);
+		workingMemory.insert(brie2);
+		workingMemory.insert(muzzarella);
+		workingMemory.insert(muzzarella2);
+		workingMemory.insert(provolone);
+		workingMemory.insert(provolone2);
 
-        workingMemory.fireAllRules();
+		workingMemory.fireAllRules();
 
-        System.out.println(list.toString());
-        assertEquals( 4,
-                      list.size() );
+		System.out.println(list.toString());
+		assertEquals(4, list.size());
 
-        assertEquals( stilton,
-                      list.get( 0 ) );
-        assertEquals( brie,
-                      list.get( 1 ) );
-        assertEquals( agedStilton,
-                      list.get( 2 ) );
-        assertEquals( provolone,
-                      list.get( 3 ) );
-    }
+		assertEquals(stilton, list.get(0));
+		assertEquals(brie, list.get(1));
+		assertEquals(agedStilton, list.get(2));
+		assertEquals(provolone, list.get(3));
+	}
 
-    public void testAutomaticBindings() throws Exception {
-        final PackageBuilder builder = new PackageBuilder();
-        builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_AutoBindings.drl" ) ) );
-        final Package pkg = builder.getPackage();
+	public void testAutomaticBindings() throws Exception {
+		final PackageBuilder builder = new PackageBuilder();
+		builder.addPackageFromDrl(new InputStreamReader(getClass()
+				.getResourceAsStream("test_AutoBindings.drl")));
+		final Package pkg = builder.getPackage();
 
-        final RuleBase ruleBase = getRuleBase();
-        ruleBase.addPackage( pkg );
-        final WorkingMemory workingMemory = ruleBase.newStatefulSession();
+		final RuleBase ruleBase = getRuleBase();
+		ruleBase.addPackage(pkg);
+		final WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
-        final List list = new ArrayList();
-        workingMemory.setGlobal( "results",
-                                 list );
+		final List list = new ArrayList();
+		workingMemory.setGlobal("results", list);
 
-        final Person bob = new Person( "bob",
-                                       "stilton" );
-        final Cheese stilton = new Cheese( "stilton",
-                                           12 );
-        workingMemory.insert( bob );
-        workingMemory.insert( stilton );
+		final Person bob = new Person("bob", "stilton");
+		final Cheese stilton = new Cheese("stilton", 12);
+		workingMemory.insert(bob);
+		workingMemory.insert(stilton);
 
-        workingMemory.fireAllRules();
+		workingMemory.fireAllRules();
 
-        assertEquals( 1,
-                      list.size() );
+		assertEquals(1, list.size());
 
-        assertEquals( bob,
-                      list.get( 0 ) );
-    }
+		assertEquals(bob, list.get(0));
+	}
 
-    public void testAutomaticBindingsErrors() throws Exception {
-        final PackageBuilder builder = new PackageBuilder();
-        builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_AutoBindingsErrors.drl" ) ) );
-        final Package pkg = builder.getPackage();
+	public void testAutomaticBindingsErrors() throws Exception {
+		final PackageBuilder builder = new PackageBuilder();
+		builder.addPackageFromDrl(new InputStreamReader(getClass()
+				.getResourceAsStream("test_AutoBindingsErrors.drl")));
+		final Package pkg = builder.getPackage();
 
-        assertNotNull( pkg.getErrorSummary() );
-    }
+		assertNotNull(pkg.getErrorSummary());
+	}
 
-    public void testQualifiedFieldReference() throws Exception {
-        final PackageBuilder builder = new PackageBuilder();
-        builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_QualifiedFieldReference.drl" ) ) );
-        final Package pkg = builder.getPackage();
+	public void testQualifiedFieldReference() throws Exception {
+		final PackageBuilder builder = new PackageBuilder();
+		builder.addPackageFromDrl(new InputStreamReader(getClass()
+				.getResourceAsStream("test_QualifiedFieldReference.drl")));
+		final Package pkg = builder.getPackage();
 
-        final RuleBase ruleBase = getRuleBase();
-        ruleBase.addPackage( pkg );
-        final WorkingMemory workingMemory = ruleBase.newStatefulSession();
+		final RuleBase ruleBase = getRuleBase();
+		ruleBase.addPackage(pkg);
+		final WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
-        final List list = new ArrayList();
-        workingMemory.setGlobal( "results",
-                                 list );
+		final List list = new ArrayList();
+		workingMemory.setGlobal("results", list);
 
-        final Person bob = new Person( "bob",
-                                       "stilton" );
-        final Cheese stilton = new Cheese( "stilton",
-                                           12 );
-        workingMemory.insert( bob );
-        workingMemory.insert( stilton );
+		final Person bob = new Person("bob", "stilton");
+		final Cheese stilton = new Cheese("stilton", 12);
+		workingMemory.insert(bob);
+		workingMemory.insert(stilton);
 
-        workingMemory.fireAllRules();
+		workingMemory.fireAllRules();
 
-        assertEquals( 1,
-                      list.size() );
+		assertEquals(1, list.size());
 
-        assertEquals( bob,
-                      list.get( 0 ) );
-    }
+		assertEquals(bob, list.get(0));
+	}
 
-    public void testEvalRewrite() throws Exception {
-        final PackageBuilder builder = new PackageBuilder();
-        builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_EvalRewrite.drl" ) ) );
-        final Package pkg = builder.getPackage();
+	public void testEvalRewrite() throws Exception {
+		final PackageBuilder builder = new PackageBuilder();
+		builder.addPackageFromDrl(new InputStreamReader(getClass()
+				.getResourceAsStream("test_EvalRewrite.drl")));
+		final Package pkg = builder.getPackage();
 
-        final RuleBase ruleBase = getRuleBase();
-        ruleBase.addPackage( pkg );
-        final WorkingMemory workingMemory = ruleBase.newStatefulSession();
+		final RuleBase ruleBase = getRuleBase();
+		ruleBase.addPackage(pkg);
+		final WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
-        final List list = new ArrayList();
-        workingMemory.setGlobal( "results",
-                                 list );
+		final List list = new ArrayList();
+		workingMemory.setGlobal("results", list);
 
-        final Order order1 = new Order( 10,
-                                        "Bob" );
-        final OrderItem item11 = new OrderItem( order1,
-                                                1 );
-        final OrderItem item12 = new OrderItem( order1,
-                                                2 );
-        order1.addItem( item11 );
-        order1.addItem( item12 );
-        final Order order2 = new Order( 11,
-                                        "Bob" );
-        final OrderItem item21 = new OrderItem( order2,
-                                                1 );
-        final OrderItem item22 = new OrderItem( order2,
-                                                2 );
-        order2.addItem( item21 );
-        order2.addItem( item22 );
-        final Order order3 = new Order( 12,
-                                        "Bob" );
-        final OrderItem item31 = new OrderItem( order3,
-                                                1 );
-        final OrderItem item32 = new OrderItem( order3,
-                                                2 );
-        order3.addItem( item31 );
-        order3.addItem( item32 );
-        final Order order4 = new Order( 13,
-                                        "Bob" );
-        final OrderItem item41 = new OrderItem( order4,
-                                                1 );
-        final OrderItem item42 = new OrderItem( order4,
-                                                2 );
-        order4.addItem( item41 );
-        order4.addItem( item42 );
-        workingMemory.insert( order1 );
-        workingMemory.insert( item11 );
-        workingMemory.insert( item12 );
-        workingMemory.insert( order2 );
-        workingMemory.insert( item21 );
-        workingMemory.insert( item22 );
-        workingMemory.insert( order3 );
-        workingMemory.insert( item31 );
-        workingMemory.insert( item32 );
-        workingMemory.insert( order4 );
-        workingMemory.insert( item41 );
-        workingMemory.insert( item42 );
+		final Order order1 = new Order(10, "Bob");
+		final OrderItem item11 = new OrderItem(order1, 1);
+		final OrderItem item12 = new OrderItem(order1, 2);
+		order1.addItem(item11);
+		order1.addItem(item12);
+		final Order order2 = new Order(11, "Bob");
+		final OrderItem item21 = new OrderItem(order2, 1);
+		final OrderItem item22 = new OrderItem(order2, 2);
+		order2.addItem(item21);
+		order2.addItem(item22);
+		final Order order3 = new Order(12, "Bob");
+		final OrderItem item31 = new OrderItem(order3, 1);
+		final OrderItem item32 = new OrderItem(order3, 2);
+		order3.addItem(item31);
+		order3.addItem(item32);
+		final Order order4 = new Order(13, "Bob");
+		final OrderItem item41 = new OrderItem(order4, 1);
+		final OrderItem item42 = new OrderItem(order4, 2);
+		order4.addItem(item41);
+		order4.addItem(item42);
+		workingMemory.insert(order1);
+		workingMemory.insert(item11);
+		workingMemory.insert(item12);
+		workingMemory.insert(order2);
+		workingMemory.insert(item21);
+		workingMemory.insert(item22);
+		workingMemory.insert(order3);
+		workingMemory.insert(item31);
+		workingMemory.insert(item32);
+		workingMemory.insert(order4);
+		workingMemory.insert(item41);
+		workingMemory.insert(item42);
 
-        workingMemory.fireAllRules();
+		workingMemory.fireAllRules();
 
-        assertEquals( 5,
-                      list.size() );
-        assertTrue( list.contains( item11 ) );
-        assertTrue( list.contains( item12 ) );
-        assertTrue( list.contains( item22 ) );
-        assertTrue( list.contains( order3 ) );
-        assertTrue( list.contains( order4 ) );
+		assertEquals(5, list.size());
+		assertTrue(list.contains(item11));
+		assertTrue(list.contains(item12));
+		assertTrue(list.contains(item22));
+		assertTrue(list.contains(order3));
+		assertTrue(list.contains(order4));
 
-    }
+	}
 
-    public void testMapAccess() throws Exception {
-        final PackageBuilder builder = new PackageBuilder();
-        builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_MapAccess.drl" ) ) );
-        final Package pkg = builder.getPackage();
+	public void testMapAccess() throws Exception {
+		final PackageBuilder builder = new PackageBuilder();
+		builder.addPackageFromDrl(new InputStreamReader(getClass()
+				.getResourceAsStream("test_MapAccess.drl")));
+		final Package pkg = builder.getPackage();
 
-        final RuleBase ruleBase = getRuleBase();
-        ruleBase.addPackage( pkg );
-        final WorkingMemory workingMemory = ruleBase.newStatefulSession();
+		final RuleBase ruleBase = getRuleBase();
+		ruleBase.addPackage(pkg);
+		final WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
-        final List list = new ArrayList();
-        workingMemory.setGlobal( "results",
-                                 list );
+		final List list = new ArrayList();
+		workingMemory.setGlobal("results", list);
 
-        Map map = new HashMap();
-        map.put( "name",
-                 "Edson" );
-        map.put( "surname",
-                 "Tirelli" );
-        map.put( "age",
-                 "28" );
+		Map map = new HashMap();
+		map.put("name", "Edson");
+		map.put("surname", "Tirelli");
+		map.put("age", "28");
 
-        workingMemory.insert( map );
+		workingMemory.insert(map);
 
-        workingMemory.fireAllRules();
+		workingMemory.fireAllRules();
 
-        assertEquals( 1,
-                      list.size() );
-        assertTrue( list.contains( map ) );
+		assertEquals(1, list.size());
+		assertTrue(list.contains(map));
 
-    }
+	}
 
-    public void testHalt() throws Exception {
-        final PackageBuilder builder = new PackageBuilder();
-        builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_halt.drl" ) ) );
-        final Package pkg = builder.getPackage();
+	public void testHalt() throws Exception {
+		final PackageBuilder builder = new PackageBuilder();
+		builder.addPackageFromDrl(new InputStreamReader(getClass()
+				.getResourceAsStream("test_halt.drl")));
+		final Package pkg = builder.getPackage();
 
-        final RuleBase ruleBase = getRuleBase();
-        ruleBase.addPackage( pkg );
-        final WorkingMemory workingMemory = ruleBase.newStatefulSession();
+		final RuleBase ruleBase = getRuleBase();
+		ruleBase.addPackage(pkg);
+		final WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
-        final List results = new ArrayList();
-        workingMemory.setGlobal( "results",
-                                 results );
+		final List results = new ArrayList();
+		workingMemory.setGlobal("results", results);
 
-        workingMemory.insert( new Integer( 0 ) );
-        workingMemory.fireAllRules();
+		workingMemory.insert(new Integer(0));
+		workingMemory.fireAllRules();
 
-        assertEquals( 10,
-                      results.size() );
-        for ( int i = 0; i < 10; i++ ) {
-            assertEquals( new Integer( i ),
-                          results.get( i ) );
-        }
-    }
+		assertEquals(10, results.size());
+		for (int i = 0; i < 10; i++) {
+			assertEquals(new Integer(i), results.get(i));
+		}
+	}
 
-    public void testFireLimit() throws Exception {
-        final PackageBuilder builder = new PackageBuilder();
-        builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_fireLimit.drl" ) ) );
-        final Package pkg = builder.getPackage();
+	public void testFireLimit() throws Exception {
+		final PackageBuilder builder = new PackageBuilder();
+		builder.addPackageFromDrl(new InputStreamReader(getClass()
+				.getResourceAsStream("test_fireLimit.drl")));
+		final Package pkg = builder.getPackage();
 
-        final RuleBase ruleBase = getRuleBase();
-        ruleBase.addPackage( pkg );
-        final WorkingMemory workingMemory = ruleBase.newStatefulSession();
+		final RuleBase ruleBase = getRuleBase();
+		ruleBase.addPackage(pkg);
+		final WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
-        final List results = new ArrayList();
-        workingMemory.setGlobal( "results",
-                                 results );
+		final List results = new ArrayList();
+		workingMemory.setGlobal("results", results);
 
-        workingMemory.insert( new Integer( 0 ) );
-        workingMemory.fireAllRules();
+		workingMemory.insert(new Integer(0));
+		workingMemory.fireAllRules();
 
-        assertEquals( 20,
-                      results.size() );
-        for ( int i = 0; i < 20; i++ ) {
-            assertEquals( new Integer( i ),
-                          results.get( i ) );
-        }
-        results.clear();
+		assertEquals(20, results.size());
+		for (int i = 0; i < 20; i++) {
+			assertEquals(new Integer(i), results.get(i));
+		}
+		results.clear();
 
-        workingMemory.insert( new Integer( 0 ) );
-        workingMemory.fireAllRules( 10 );
+		workingMemory.insert(new Integer(0));
+		workingMemory.fireAllRules(10);
 
-        assertEquals( 10,
-                      results.size() );
-        for ( int i = 0; i < 10; i++ ) {
-            assertEquals( new Integer( i ),
-                          results.get( i ) );
-        }
-        results.clear();
+		assertEquals(10, results.size());
+		for (int i = 0; i < 10; i++) {
+			assertEquals(new Integer(i), results.get(i));
+		}
+		results.clear();
 
-        workingMemory.insert( new Integer( 0 ) );
-        workingMemory.fireAllRules( -1 );
+		workingMemory.insert(new Integer(0));
+		workingMemory.fireAllRules(-1);
 
-        assertEquals( 20,
-                      results.size() );
-        for ( int i = 0; i < 20; i++ ) {
-            assertEquals( new Integer( i ),
-                          results.get( i ) );
-        }
-        results.clear();
+		assertEquals(20, results.size());
+		for (int i = 0; i < 20; i++) {
+			assertEquals(new Integer(i), results.get(i));
+		}
+		results.clear();
 
-    }
+	}
 
-    public void testEqualitySupport() throws Exception {
+	public void testEqualitySupport() throws Exception {
 
-        final PackageBuilder builder = new PackageBuilder();
-        builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_equalitySupport.drl" ) ) );
-        final Package pkg = builder.getPackage();
+		final PackageBuilder builder = new PackageBuilder();
+		builder.addPackageFromDrl(new InputStreamReader(getClass()
+				.getResourceAsStream("test_equalitySupport.drl")));
+		final Package pkg = builder.getPackage();
 
-        RuleBaseConfiguration conf = new RuleBaseConfiguration();
-        conf.setAssertBehaviour( RuleBaseConfiguration.AssertBehaviour.EQUALITY );
-        final RuleBase ruleBase = getRuleBase( conf );
-        ruleBase.addPackage( pkg );
-        final WorkingMemory workingMemory = ruleBase.newStatefulSession();
+		RuleBaseConfiguration conf = new RuleBaseConfiguration();
+		conf.setAssertBehaviour(RuleBaseConfiguration.AssertBehaviour.EQUALITY);
+		final RuleBase ruleBase = getRuleBase(conf);
+		ruleBase.addPackage(pkg);
+		final WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
-        final List results = new ArrayList();
-        workingMemory.setGlobal( "results",
-                                 results );
+		final List results = new ArrayList();
+		workingMemory.setGlobal("results", results);
 
-        PersonWithEquals person = new PersonWithEquals( "bob",
-                                                        30 );
+		PersonWithEquals person = new PersonWithEquals("bob", 30);
 
-        workingMemory.insert( person );
+		workingMemory.insert(person);
 
-        workingMemory.fireAllRules();
+		workingMemory.fireAllRules();
 
-        assertEquals( 1,
-                      results.size() );
-        assertEquals( "mark",
-                      results.get( 0 ) );
+		assertEquals(1, results.size());
+		assertEquals("mark", results.get(0));
 
-    }
+	}
 
-    public void testCharComparisons() throws Exception {
+	public void testCharComparisons() throws Exception {
 
-        final PackageBuilder builder = new PackageBuilder();
-        builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_charComparisons.drl" ) ) );
-        final Package pkg = builder.getPackage();
+		final PackageBuilder builder = new PackageBuilder();
+		builder.addPackageFromDrl(new InputStreamReader(getClass()
+				.getResourceAsStream("test_charComparisons.drl")));
+		final Package pkg = builder.getPackage();
 
-        final RuleBase ruleBase = getRuleBase();
-        ruleBase.addPackage( pkg );
-        final WorkingMemory workingMemory = ruleBase.newStatefulSession();
+		final RuleBase ruleBase = getRuleBase();
+		ruleBase.addPackage(pkg);
+		final WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
-        final List results = new ArrayList();
-        workingMemory.setGlobal( "results",
-                                 results );
+		final List results = new ArrayList();
+		workingMemory.setGlobal("results", results);
 
-        Primitives p1 = new Primitives();
-        p1.setCharPrimitive( 'a' );
-        p1.setStringAttribute( "b" );
-        Primitives p2 = new Primitives();
-        p2.setCharPrimitive( 'b' );
-        p2.setStringAttribute( "a" );
+		Primitives p1 = new Primitives();
+		p1.setCharPrimitive('a');
+		p1.setStringAttribute("b");
+		Primitives p2 = new Primitives();
+		p2.setCharPrimitive('b');
+		p2.setStringAttribute("a");
 
-        workingMemory.insert( p1 );
-        workingMemory.insert( p2 );
+		workingMemory.insert(p1);
+		workingMemory.insert(p2);
 
-        workingMemory.fireAllRules();
+		workingMemory.fireAllRules();
 
-        assertEquals( 3,
-                      results.size() );
-        assertEquals( "1",
-                      results.get( 0 ) );
-        assertEquals( "2",
-                      results.get( 1 ) );
-        assertEquals( "3",
-                      results.get( 2 ) );
+		assertEquals(3, results.size());
+		assertEquals("1", results.get(0));
+		assertEquals("2", results.get(1));
+		assertEquals("3", results.get(2));
 
-    }
+	}
 
-    public void testAlphaNodeSharing() throws Exception {
+	public void testAlphaNodeSharing() throws Exception {
 
-        final PackageBuilder builder = new PackageBuilder();
-        builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_alphaNodeSharing.drl" ) ) );
-        final Package pkg = builder.getPackage();
+		final PackageBuilder builder = new PackageBuilder();
+		builder.addPackageFromDrl(new InputStreamReader(getClass()
+				.getResourceAsStream("test_alphaNodeSharing.drl")));
+		final Package pkg = builder.getPackage();
 
-        final RuleBaseConfiguration conf = new RuleBaseConfiguration();
-        conf.setShareAlphaNodes( false );
-        final RuleBase ruleBase = getRuleBase( conf );
-        ruleBase.addPackage( pkg );
-        final WorkingMemory workingMemory = ruleBase.newStatefulSession();
+		final RuleBaseConfiguration conf = new RuleBaseConfiguration();
+		conf.setShareAlphaNodes(false);
+		final RuleBase ruleBase = getRuleBase(conf);
+		ruleBase.addPackage(pkg);
+		final WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
-        final List results = new ArrayList();
-        workingMemory.setGlobal( "results",
-                                 results );
+		final List results = new ArrayList();
+		workingMemory.setGlobal("results", results);
 
-        Person p1 = new Person( "bob",
-                                5 );
-        workingMemory.insert( p1 );
+		Person p1 = new Person("bob", 5);
+		workingMemory.insert(p1);
 
-        workingMemory.fireAllRules();
+		workingMemory.fireAllRules();
 
-        assertEquals( 2,
-                      results.size() );
-        assertEquals( "1",
-                      results.get( 0 ) );
-        assertEquals( "2",
-                      results.get( 1 ) );
+		assertEquals(2, results.size());
+		assertEquals("1", results.get(0));
+		assertEquals("2", results.get(1));
 
-    }
+	}
 
-    public void testFunctionCallingFunctionWithEclipse() throws Exception {
-        PackageBuilderConfiguration packageBuilderConfig = new PackageBuilderConfiguration();
-        ((JavaDialectConfiguration) packageBuilderConfig.getDialectConfiguration( "java" )).setCompiler( JavaDialectConfiguration.ECLIPSE );
+	public void testFunctionCallingFunctionWithEclipse() throws Exception {
+		PackageBuilderConfiguration packageBuilderConfig = new PackageBuilderConfiguration();
+		((JavaDialectConfiguration) packageBuilderConfig
+				.getDialectConfiguration("java"))
+				.setCompiler(JavaDialectConfiguration.ECLIPSE);
 
-        final PackageBuilder builder = new PackageBuilder( packageBuilderConfig );
+		final PackageBuilder builder = new PackageBuilder(packageBuilderConfig);
 
-        builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_functionCallingFunction.drl" ) ) );
-        final Package pkg = builder.getPackage();
+		builder.addPackageFromDrl(new InputStreamReader(getClass()
+				.getResourceAsStream("test_functionCallingFunction.drl")));
+		final Package pkg = builder.getPackage();
 
-        final RuleBase ruleBase = getRuleBase();
-        ruleBase.addPackage( pkg );
-        final WorkingMemory workingMemory = ruleBase.newStatefulSession();
+		final RuleBase ruleBase = getRuleBase();
+		ruleBase.addPackage(pkg);
+		final WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
-        final List list = new ArrayList();
-        workingMemory.setGlobal( "results",
-                                 list );
+		final List list = new ArrayList();
+		workingMemory.setGlobal("results", list);
 
-        workingMemory.fireAllRules();
+		workingMemory.fireAllRules();
 
-        assertEquals( 1,
-                      list.size() );
+		assertEquals(1, list.size());
 
-        assertEquals( 10,
-                      ((Integer) list.get( 0 )).intValue() );
-    }
+		assertEquals(10, ((Integer) list.get(0)).intValue());
+	}
 
-    public void testFunctionCallingFunctionWithJanino() throws Exception {
-        PackageBuilderConfiguration packageBuilderConfig = new PackageBuilderConfiguration();
-        ((JavaDialectConfiguration) packageBuilderConfig.getDialectConfiguration( "java" )).setCompiler( JavaDialectConfiguration.JANINO );
+	public void testFunctionCallingFunctionWithJanino() throws Exception {
+		PackageBuilderConfiguration packageBuilderConfig = new PackageBuilderConfiguration();
+		((JavaDialectConfiguration) packageBuilderConfig
+				.getDialectConfiguration("java"))
+				.setCompiler(JavaDialectConfiguration.JANINO);
 
-        final PackageBuilder builder = new PackageBuilder( packageBuilderConfig );
-        builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_functionCallingFunction.drl" ) ) );
-        final Package pkg = builder.getPackage();
+		final PackageBuilder builder = new PackageBuilder(packageBuilderConfig);
+		builder.addPackageFromDrl(new InputStreamReader(getClass()
+				.getResourceAsStream("test_functionCallingFunction.drl")));
+		final Package pkg = builder.getPackage();
 
-        final RuleBase ruleBase = getRuleBase();
-        ruleBase.addPackage( pkg );
-        final WorkingMemory workingMemory = ruleBase.newStatefulSession();
+		final RuleBase ruleBase = getRuleBase();
+		ruleBase.addPackage(pkg);
+		final WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
-        final List list = new ArrayList();
-        workingMemory.setGlobal( "results",
-                                 list );
+		final List list = new ArrayList();
+		workingMemory.setGlobal("results", list);
 
-        workingMemory.fireAllRules();
+		workingMemory.fireAllRules();
 
-        assertEquals( 1,
-                      list.size() );
+		assertEquals(1, list.size());
 
-        assertEquals( 10,
-                      ((Integer) list.get( 0 )).intValue() );
-    }
+		assertEquals(10, ((Integer) list.get(0)).intValue());
+	}
 
-    public void testSelfReference2() throws Exception {
-        final PackageBuilder builder = new PackageBuilder();
-        builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_SelfReference2.drl" ) ) );
-        final Package pkg = builder.getPackage();
+	public void testSelfReference2() throws Exception {
+		final PackageBuilder builder = new PackageBuilder();
+		builder.addPackageFromDrl(new InputStreamReader(getClass()
+				.getResourceAsStream("test_SelfReference2.drl")));
+		final Package pkg = builder.getPackage();
 
+		final RuleBase ruleBase = getRuleBase();
+		ruleBase.addPackage(pkg);
+		final WorkingMemory workingMemory = ruleBase.newStatefulSession();
+
+		final List results = new ArrayList();
+		workingMemory.setGlobal("results", results);
+
+		workingMemory.insert(new Cheese());
+
+		workingMemory.fireAllRules();
+
+		assertEquals(0, results.size());
+	}
+
+	public void testMergingDifferentPackages() throws Exception {
+		// using the same builder
+		try {
+			final PackageBuilder builder = new PackageBuilder();
+			builder.addPackageFromDrl(new InputStreamReader(getClass()
+					.getResourceAsStream("test_RuleNameClashes1.drl")));
+			builder.addPackageFromDrl(new InputStreamReader(getClass()
+					.getResourceAsStream("test_RuleNameClashes2.drl")));
+			fail("Can't merge packages with different names ");
+		} catch (PackageMergeException e) {
+			// success
+		} catch (RuntimeException e) {
+			e.printStackTrace();
+			fail("unexpected exception: " + e.getMessage());
+		}
+	}
+
+	public void testMergingDifferentPackages2() throws Exception {
+		// using different builders
+		try {
+			final PackageBuilder builder1 = new PackageBuilder();
+			builder1.addPackageFromDrl(new InputStreamReader(getClass()
+					.getResourceAsStream("test_RuleNameClashes1.drl")));
+			final Package pkg1 = builder1.getPackage();
+
+			assertEquals(1, pkg1.getRules().length);
+
+			final PackageBuilder builder2 = new PackageBuilder();
+			builder2.addPackageFromDrl(new InputStreamReader(getClass()
+					.getResourceAsStream("test_RuleNameClashes2.drl")));
+			final Package pkg2 = builder2.getPackage();
+
+			assertEquals(1, pkg2.getRules().length);
+
+			final RuleBase ruleBase = getRuleBase();
+			ruleBase.addPackage(pkg1);
+			ruleBase.addPackage(pkg2);
+			final WorkingMemory workingMemory = ruleBase.newStatefulSession();
+
+			final List results = new ArrayList();
+			workingMemory.setGlobal("results", results);
+
+			workingMemory.insert(new Cheese("stilton", 10));
+			workingMemory.insert(new Cheese("brie", 5));
+
+			workingMemory.fireAllRules();
+
+			assertEquals(results.toString(), 2, results.size());
+			assertTrue(results.contains("p1.r1"));
+			assertTrue(results.contains("p2.r1"));
+
+		} catch (PackageMergeException e) {
+			fail("Should not raise exception when merging different packages into the same rulebase: "
+					+ e.getMessage());
+		} catch (Exception e) {
+			e.printStackTrace();
+			fail("unexpected exception: " + e.getMessage());
+		}
+	}
+
+	public void testMergePackageWithSameRuleNames() throws Exception {
+        PackageBuilder builder = new PackageBuilder();
+        builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_MergePackageWithSameRuleNames1.drl" ) ) );
         final RuleBase ruleBase = getRuleBase();
-        ruleBase.addPackage( pkg );
-        final WorkingMemory workingMemory = ruleBase.newStatefulSession();
+        ruleBase.addPackage( builder.getPackage() );
 
+        builder = new PackageBuilder();
+        builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_MergePackageWithSameRuleNames2.drl" ) ) );
+        ruleBase.addPackage( builder.getPackage() );
+
+        StatefulSession session = ruleBase.newStatefulSession();
         final List results = new ArrayList();
-        workingMemory.setGlobal( "results",
-                                 results );
+        session.setGlobal( "results",
+                           results );
 
-        workingMemory.insert( new Cheese() );
+        session.fireAllRules();
 
-        workingMemory.fireAllRules();
-
-        assertEquals( 0,
+        assertEquals( 1,
                       results.size() );
-    }
 
-    public void testMergingDifferentPackages() throws Exception {
-        // using the same builder
-        try {
-            final PackageBuilder builder = new PackageBuilder();
-            builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_RuleNameClashes1.drl" ) ) );
-            builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_RuleNameClashes2.drl" ) ) );
-            fail( "Can't merge packages with different names " );
-        } catch ( PackageMergeException e ) {
-            // success
-        } catch ( RuntimeException e ) {
-            e.printStackTrace();
-            fail( "unexpected exception: " + e.getMessage() );
-        }
+        assertEquals( "rule1 for the package2",
+                      results.get( 0 ) );
     }
 
-    public void testMergingDifferentPackages2() throws Exception {
-        // using different builders
-        try {
-            final PackageBuilder builder1 = new PackageBuilder();
-            builder1.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_RuleNameClashes1.drl" ) ) );
-            final Package pkg1 = builder1.getPackage();
+	public void testRuleReplacement() throws Exception {
+		// test rule replacement
+		try {
+			final PackageBuilder builder1 = new PackageBuilder();
+			builder1.addPackageFromDrl(new InputStreamReader(getClass()
+					.getResourceAsStream("test_RuleNameClashes1.drl")));
+			builder1.addPackageFromDrl(new InputStreamReader(getClass()
+					.getResourceAsStream("test_RuleNameClashes3.drl")));
+			final Package pkg1 = builder1.getPackage();
 
-            assertEquals( 1,
-                          pkg1.getRules().length );
+			assertEquals(1, pkg1.getRules().length);
 
-            final PackageBuilder builder2 = new PackageBuilder();
-            builder2.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_RuleNameClashes2.drl" ) ) );
-            final Package pkg2 = builder2.getPackage();
+			final RuleBase ruleBase = getRuleBase();
+			ruleBase.addPackage(pkg1);
+			final WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
-            assertEquals( 1,
-                          pkg2.getRules().length );
+			final List results = new ArrayList();
+			workingMemory.setGlobal("results", results);
 
-            final RuleBase ruleBase = getRuleBase();
-            ruleBase.addPackage( pkg1 );
-            ruleBase.addPackage( pkg2 );
-            final WorkingMemory workingMemory = ruleBase.newStatefulSession();
+			workingMemory.insert(new Cheese("stilton", 10));
+			workingMemory.insert(new Cheese("brie", 5));
 
-            final List results = new ArrayList();
-            workingMemory.setGlobal( "results",
-                                     results );
+			workingMemory.fireAllRules();
 
-            workingMemory.insert( new Cheese( "stilton",
-                                              10 ) );
-            workingMemory.insert( new Cheese( "brie",
-                                              5 ) );
+			assertEquals(results.toString(), 0, results.size());
 
-            workingMemory.fireAllRules();
+			workingMemory.insert(new Cheese("muzzarella", 7));
 
-            assertEquals( results.toString(),
-                          2,
-                          results.size() );
-            assertTrue( results.contains( "p1.r1" ) );
-            assertTrue( results.contains( "p2.r1" ) );
+			workingMemory.fireAllRules();
 
-        } catch ( PackageMergeException e ) {
-            fail( "Should not raise exception when merging different packages into the same rulebase: " + e.getMessage() );
-        } catch ( Exception e ) {
-            e.printStackTrace();
-            fail( "unexpected exception: " + e.getMessage() );
-        }
-    }
+			assertEquals(results.toString(), 1, results.size());
+			assertTrue(results.contains("p1.r3"));
 
-    public void testRuleReplacement() throws Exception {
-        // test rule replacement
-        try {
-            final PackageBuilder builder1 = new PackageBuilder();
-            builder1.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_RuleNameClashes1.drl" ) ) );
-            builder1.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_RuleNameClashes3.drl" ) ) );
-            final Package pkg1 = builder1.getPackage();
+		} catch (PackageMergeException e) {
+			fail("Should not raise exception when merging different packages into the same rulebase: "
+					+ e.getMessage());
+		} catch (Exception e) {
+			e.printStackTrace();
+			fail("unexpected exception: " + e.getMessage());
+		}
+	}
 
-            assertEquals( 1,
-                          pkg1.getRules().length );
+	public void testBindingsOnConnectiveExpressions() throws Exception {
+		final PackageBuilder builder = new PackageBuilder();
+		builder.addPackageFromDrl(new InputStreamReader(getClass()
+				.getResourceAsStream("test_bindings.drl")));
+		final Package pkg = builder.getPackage();
 
-            final RuleBase ruleBase = getRuleBase();
-            ruleBase.addPackage( pkg1 );
-            final WorkingMemory workingMemory = ruleBase.newStatefulSession();
+		final RuleBase ruleBase = getRuleBase();
+		ruleBase.addPackage(pkg);
+		final WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
-            final List results = new ArrayList();
-            workingMemory.setGlobal( "results",
-                                     results );
+		final List results = new ArrayList();
+		workingMemory.setGlobal("results", results);
 
-            workingMemory.insert( new Cheese( "stilton",
-                                              10 ) );
-            workingMemory.insert( new Cheese( "brie",
-                                              5 ) );
+		workingMemory.insert(new Cheese("stilton", 15));
 
-            workingMemory.fireAllRules();
+		workingMemory.fireAllRules();
 
-            assertEquals( results.toString(),
-                          0,
-                          results.size() );
+		assertEquals(2, results.size());
+		assertEquals("stilton", results.get(0));
+		assertEquals(new Integer(15), results.get(1));
+	}
 
-            workingMemory.insert( new Cheese( "muzzarella",
-                                              7 ) );
+	public void testMultipleFroms() throws Exception {
+		final PackageBuilder builder = new PackageBuilder();
+		builder.addPackageFromDrl(new InputStreamReader(getClass()
+				.getResourceAsStream("test_multipleFroms.drl")));
+		final Package pkg = builder.getPackage();
 
-            workingMemory.fireAllRules();
+		final RuleBase ruleBase = getRuleBase();
+		ruleBase.addPackage(pkg);
+		final WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
-            assertEquals( results.toString(),
-                          1,
-                          results.size() );
-            assertTrue( results.contains( "p1.r3" ) );
+		final List results = new ArrayList();
+		workingMemory.setGlobal("results", results);
 
-        } catch ( PackageMergeException e ) {
-            fail( "Should not raise exception when merging different packages into the same rulebase: " + e.getMessage() );
-        } catch ( Exception e ) {
-            e.printStackTrace();
-            fail( "unexpected exception: " + e.getMessage() );
-        }
-    }
+		final Cheesery cheesery = new Cheesery();
+		cheesery.addCheese(new Cheese("stilton", 15));
+		cheesery.addCheese(new Cheese("brie", 10));
 
-    public void testBindingsOnConnectiveExpressions() throws Exception {
-        final PackageBuilder builder = new PackageBuilder();
-        builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_bindings.drl" ) ) );
-        final Package pkg = builder.getPackage();
+		workingMemory.setGlobal("cheesery", cheesery);
 
-        final RuleBase ruleBase = getRuleBase();
-        ruleBase.addPackage( pkg );
-        final WorkingMemory workingMemory = ruleBase.newStatefulSession();
+		workingMemory.fireAllRules();
 
-        final List results = new ArrayList();
-        workingMemory.setGlobal( "results",
-                                 results );
+		assertEquals(2, results.size());
+		assertEquals(2, ((List) results.get(0)).size());
+		assertEquals(2, ((List) results.get(1)).size());
+	}
 
-        workingMemory.insert( new Cheese( "stilton",
-                                          15 ) );
+	public void testNullHashing() throws Exception {
+		final PackageBuilder builder = new PackageBuilder();
+		builder.addPackageFromDrl(new InputStreamReader(getClass()
+				.getResourceAsStream("test_NullHashing.drl")));
+		final Package pkg = builder.getPackage();
 
-        workingMemory.fireAllRules();
+		final RuleBase ruleBase = getRuleBase();
+		ruleBase.addPackage(pkg);
+		final WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
-        assertEquals( 2,
-                      results.size() );
-        assertEquals( "stilton",
-                      results.get( 0 ) );
-        assertEquals( new Integer( 15 ),
-                      results.get( 1 ) );
-    }
+		final List results = new ArrayList();
+		workingMemory.setGlobal("results", results);
 
-    public void testMultipleFroms() throws Exception {
-        final PackageBuilder builder = new PackageBuilder();
-        builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_multipleFroms.drl" ) ) );
-        final Package pkg = builder.getPackage();
+		workingMemory.insert(new Cheese("stilton", 15));
+		workingMemory.insert(new Cheese("", 10));
+		workingMemory.insert(new Cheese(null, 8));
 
-        final RuleBase ruleBase = getRuleBase();
-        ruleBase.addPackage( pkg );
-        final WorkingMemory workingMemory = ruleBase.newStatefulSession();
+		workingMemory.fireAllRules();
 
-        final List results = new ArrayList();
-        workingMemory.setGlobal( "results",
-                                 results );
+		assertEquals(3, results.size());
+	}
 
-        final Cheesery cheesery = new Cheesery();
-        cheesery.addCheese( new Cheese( "stilton",
-                                        15 ) );
-        cheesery.addCheese( new Cheese( "brie",
-                                        10 ) );
+	public void testDefaultBetaConstrains() throws Exception {
+		final PackageBuilder builder = new PackageBuilder();
+		builder.addPackageFromDrl(new InputStreamReader(getClass()
+				.getResourceAsStream("test_DefaultBetaConstraint.drl")));
+		final Package pkg = builder.getPackage();
 
-        workingMemory.setGlobal( "cheesery",
-                                 cheesery );
+		final RuleBase ruleBase = getRuleBase();
+		ruleBase.addPackage(pkg);
+		final WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
-        workingMemory.fireAllRules();
+		final List results = new ArrayList();
+		workingMemory.setGlobal("results", results);
+		final FirstClass first = new FirstClass("1", "2", "3", "4", "5");
+		final FactHandle handle = workingMemory.insert(first);
+		workingMemory.fireAllRules();
+		assertEquals(1, results.size());
+		assertEquals("NOT", results.get(0));
 
-        assertEquals( 2,
-                      results.size() );
-        assertEquals( 2,
-                      ((List) results.get( 0 )).size() );
-        assertEquals( 2,
-                      ((List) results.get( 1 )).size() );
-    }
+		workingMemory.insert(new SecondClass());
+		workingMemory.update(handle, first);
+		workingMemory.fireAllRules();
+		assertEquals(2, results.size());
+		assertEquals("NOT", results.get(1));
 
-    public void testNullHashing() throws Exception {
-        final PackageBuilder builder = new PackageBuilder();
-        builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_NullHashing.drl" ) ) );
-        final Package pkg = builder.getPackage();
+		workingMemory.update(handle, first);
+		workingMemory.insert(new SecondClass(null, "2", "3", "4", "5"));
+		workingMemory.fireAllRules();
+		assertEquals(3, results.size());
+		assertEquals("NOT", results.get(2));
 
-        final RuleBase ruleBase = getRuleBase();
-        ruleBase.addPackage( pkg );
-        final WorkingMemory workingMemory = ruleBase.newStatefulSession();
+		workingMemory.update(handle, first);
+		workingMemory.insert(new SecondClass("1", null, "3", "4", "5"));
+		workingMemory.fireAllRules();
+		assertEquals(4, results.size());
+		assertEquals("NOT", results.get(3));
 
-        final List results = new ArrayList();
-        workingMemory.setGlobal( "results",
-                                 results );
+		workingMemory.update(handle, first);
+		workingMemory.insert(new SecondClass("1", "2", null, "4", "5"));
+		workingMemory.fireAllRules();
+		assertEquals(5, results.size());
+		assertEquals("NOT", results.get(4));
 
-        workingMemory.insert( new Cheese( "stilton",
-                                          15 ) );
-        workingMemory.insert( new Cheese( "",
-                                          10 ) );
-        workingMemory.insert( new Cheese( null,
-                                          8 ) );
+		workingMemory.update(handle, first);
+		workingMemory.insert(new SecondClass("1", "2", "3", null, "5"));
+		workingMemory.fireAllRules();
+		assertEquals(6, results.size());
+		assertEquals("NOT", results.get(5));
 
-        workingMemory.fireAllRules();
+		workingMemory.update(handle, first);
+		workingMemory.insert(new SecondClass("1", "2", "3", "4", null));
+		workingMemory.fireAllRules();
+		assertEquals(7, results.size());
+		assertEquals("NOT", results.get(6));
 
-        assertEquals( 3,
-                      results.size() );
-    }
+		workingMemory.insert(new SecondClass("1", "2", "3", "4", "5"));
+		workingMemory.update(handle, first);
+		workingMemory.fireAllRules();
+		assertEquals(8, results.size());
+		assertEquals("EQUALS", results.get(7));
 
-    public void testDefaultBetaConstrains() throws Exception {
-        final PackageBuilder builder = new PackageBuilder();
-        builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_DefaultBetaConstraint.drl" ) ) );
-        final Package pkg = builder.getPackage();
+	}
 
-        final RuleBase ruleBase = getRuleBase();
-        ruleBase.addPackage( pkg );
-        final WorkingMemory workingMemory = ruleBase.newStatefulSession();
+	public void testBooleanWrapper() throws Exception {
+		final PackageBuilder builder = new PackageBuilder();
+		builder.addPackageFromDrl(new InputStreamReader(getClass()
+				.getResourceAsStream("test_BooleanWrapper.drl")));
+		final Package pkg = builder.getPackage();
 
-        final List results = new ArrayList();
-        workingMemory.setGlobal( "results",
-                                 results );
-        final FirstClass first = new FirstClass( "1",
-                                                 "2",
-                                                 "3",
-                                                 "4",
-                                                 "5" );
-        final FactHandle handle = workingMemory.insert( first );
-        workingMemory.fireAllRules();
-        assertEquals( 1,
-                      results.size() );
-        assertEquals( "NOT",
-                      results.get( 0 ) );
+		final RuleBase ruleBase = getRuleBase();
+		ruleBase.addPackage(pkg);
+		final WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
-        workingMemory.insert( new SecondClass() );
-        workingMemory.update( handle,
-                              first );
-        workingMemory.fireAllRules();
-        assertEquals( 2,
-                      results.size() );
-        assertEquals( "NOT",
-                      results.get( 1 ) );
+		final List results = new ArrayList();
+		workingMemory.setGlobal("results", results);
 
-        workingMemory.update( handle,
-                              first );
-        workingMemory.insert( new SecondClass( null,
-                                               "2",
-                                               "3",
-                                               "4",
-                                               "5" ) );
-        workingMemory.fireAllRules();
-        assertEquals( 3,
-                      results.size() );
-        assertEquals( "NOT",
-                      results.get( 2 ) );
+		Primitives p1 = new Primitives();
+		workingMemory.insert(p1);
+		workingMemory.fireAllRules();
+		assertEquals(0, results.size());
 
-        workingMemory.update( handle,
-                              first );
-        workingMemory.insert( new SecondClass( "1",
-                                               null,
-                                               "3",
-                                               "4",
-                                               "5" ) );
-        workingMemory.fireAllRules();
-        assertEquals( 4,
-                      results.size() );
-        assertEquals( "NOT",
-                      results.get( 3 ) );
+		Primitives p2 = new Primitives();
+		p2.setBooleanWrapper(Boolean.FALSE);
+		workingMemory.insert(p2);
+		workingMemory.fireAllRules();
+		assertEquals(0, results.size());
 
-        workingMemory.update( handle,
-                              first );
-        workingMemory.insert( new SecondClass( "1",
-                                               "2",
-                                               null,
-                                               "4",
-                                               "5" ) );
-        workingMemory.fireAllRules();
-        assertEquals( 5,
-                      results.size() );
-        assertEquals( "NOT",
-                      results.get( 4 ) );
+		Primitives p3 = new Primitives();
+		p3.setBooleanWrapper(Boolean.TRUE);
+		workingMemory.insert(p3);
+		workingMemory.fireAllRules();
+		assertEquals(1, results.size());
 
-        workingMemory.update( handle,
-                              first );
-        workingMemory.insert( new SecondClass( "1",
-                                               "2",
-                                               "3",
-                                               null,
-                                               "5" ) );
-        workingMemory.fireAllRules();
-        assertEquals( 6,
-                      results.size() );
-        assertEquals( "NOT",
-                      results.get( 5 ) );
+	}
 
-        workingMemory.update( handle,
-                              first );
-        workingMemory.insert( new SecondClass( "1",
-                                               "2",
-                                               "3",
-                                               "4",
-                                               null ) );
-        workingMemory.fireAllRules();
-        assertEquals( 7,
-                      results.size() );
-        assertEquals( "NOT",
-                      results.get( 6 ) );
+	public void testCrossProductRemovingIdentityEquals() throws Exception {
+		PackageBuilder builder = new PackageBuilder();
+		builder
+				.addPackageFromDrl(new InputStreamReader(
+						MiscTest.class
+								.getResourceAsStream("test_CrossProductRemovingIdentityEquals.drl")));
 
-        workingMemory.insert( new SecondClass( "1",
-                                               "2",
-                                               "3",
-                                               "4",
-                                               "5" ) );
-        workingMemory.update( handle,
-                              first );
-        workingMemory.fireAllRules();
-        assertEquals( 8,
-                      results.size() );
-        assertEquals( "EQUALS",
-                      results.get( 7 ) );
+		RuleBaseConfiguration conf = new RuleBaseConfiguration();
+		conf.setShadowProxy(true);
+		RuleBase rb = RuleBaseFactory.newRuleBase(conf);
+		rb.addPackage(builder.getPackage());
+		StatefulSession session = rb.newStatefulSession();
 
-    }
+		List list1 = new ArrayList();
+		List list2 = new ArrayList();
 
-    public void testBooleanWrapper() throws Exception {
-        final PackageBuilder builder = new PackageBuilder();
-        builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_BooleanWrapper.drl" ) ) );
-        final Package pkg = builder.getPackage();
+		session.setGlobal("list1", list1);
+		session.setGlobal("list2", list2);
 
-        final RuleBase ruleBase = getRuleBase();
-        ruleBase.addPackage( pkg );
-        final WorkingMemory workingMemory = ruleBase.newStatefulSession();
+		SpecialString first42 = new SpecialString("42");
+		SpecialString second43 = new SpecialString("42");
+		SpecialString world = new SpecialString("World");
+		session.insert(world);
+		session.insert(first42);
+		session.insert(second43);
 
-        final List results = new ArrayList();
-        workingMemory.setGlobal( "results",
-                                 results );
+		// System.out.println( "Firing rules ..." );
 
-        Primitives p1 = new Primitives();
-        workingMemory.insert( p1 );
-        workingMemory.fireAllRules();
-        assertEquals( 0,
-                      results.size() );
+		session.fireAllRules();
 
-        Primitives p2 = new Primitives();
-        p2.setBooleanWrapper( Boolean.FALSE );
-        workingMemory.insert( p2 );
-        workingMemory.fireAllRules();
-        assertEquals( 0,
-                      results.size() );
+		assertEquals(6, list1.size());
+		assertEquals(6, list2.size());
 
-        Primitives p3 = new Primitives();
-        p3.setBooleanWrapper( Boolean.TRUE );
-        workingMemory.insert( p3 );
-        workingMemory.fireAllRules();
-        assertEquals( 1,
-                      results.size() );
+		assertEquals(second43, list1.get(0));
+		assertEquals(first42, list1.get(1));
+		assertEquals(world, list1.get(2));
+		assertEquals(second43, list1.get(3));
+		assertEquals(first42, list1.get(4));
+		assertEquals(world, list1.get(5));
 
-    }
+		assertEquals(first42, list2.get(0));
+		assertEquals(second43, list2.get(1));
+		assertEquals(second43, list2.get(2));
+		assertEquals(world, list2.get(3));
+		assertEquals(world, list2.get(4));
+		assertEquals(first42, list2.get(5));
+	}
 
-    public void testCrossProductRemovingIdentityEquals() throws Exception {
-        PackageBuilder builder = new PackageBuilder();
-        builder.addPackageFromDrl( new InputStreamReader( MiscTest.class.getResourceAsStream( "test_CrossProductRemovingIdentityEquals.drl" ) ) );
+	public void testIterateObjects() throws Exception {
+		final PackageBuilder builder = new PackageBuilder();
+		builder.addPackageFromDrl(new InputStreamReader(getClass()
+				.getResourceAsStream("test_IterateObjects.drl")));
+		final Package pkg = builder.getPackage();
 
-        RuleBaseConfiguration conf = new RuleBaseConfiguration();
-        conf.setShadowProxy( true );
-        RuleBase rb = RuleBaseFactory.newRuleBase( conf );
-        rb.addPackage( builder.getPackage() );
-        StatefulSession session = rb.newStatefulSession();
+		final RuleBase ruleBase = getRuleBase();
+		ruleBase.addPackage(pkg);
+		final WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
-        List list1 = new ArrayList();
-        List list2 = new ArrayList();
+		final List results = new ArrayList();
+		workingMemory.setGlobal("results", results);
 
-        session.setGlobal( "list1",
-                           list1 );
-        session.setGlobal( "list2",
-                           list2 );
+		workingMemory.insert(new Cheese("stilton", 10));
 
-        SpecialString first42 = new SpecialString( "42" );
-        SpecialString second43 = new SpecialString( "42" );
-        SpecialString world = new SpecialString( "World" );
-        session.insert( world );
-        session.insert( first42 );
-        session.insert( second43 );
+		workingMemory.fireAllRules();
 
-        //System.out.println( "Firing rules ..." );
+		Iterator events = workingMemory.iterateObjects(new ClassObjectFilter(
+				PersonInterface.class));
 
-        session.fireAllRules();
+		assertTrue(events.hasNext());
+		assertEquals(1, results.size());
+		assertEquals(results.get(0), events.next());
+	}
 
-        assertEquals( 6,
-                      list1.size() );
-        assertEquals( 6,
-                      list2.size() );
+	public void testNotInStatelessSession() throws Exception {
+		final PackageBuilder builder = new PackageBuilder();
+		builder.addPackageFromDrl(new InputStreamReader(getClass()
+				.getResourceAsStream("test_NotInStatelessSession.drl")));
+		final Package pkg = builder.getPackage();
 
-        assertEquals( second43,
-                      list1.get( 0 ) );
-        assertEquals( first42,
-                      list1.get( 1 ) );
-        assertEquals( world,
-                      list1.get( 2 ) );
-        assertEquals( second43,
-                      list1.get( 3 ) );
-        assertEquals( first42,
-                      list1.get( 4 ) );
-        assertEquals( world,
-                      list1.get( 5 ) );
+		RuleBaseConfiguration conf = new RuleBaseConfiguration();
+		conf.setSequential(true);
+		final RuleBase ruleBase = getRuleBase(conf);
+		ruleBase.addPackage(pkg);
 
-        assertEquals( first42,
-                      list2.get( 0 ) );
-        assertEquals( second43,
-                      list2.get( 1 ) );
-        assertEquals( second43,
-                      list2.get( 2 ) );
-        assertEquals( world,
-                      list2.get( 3 ) );
-        assertEquals( world,
-                      list2.get( 4 ) );
-        assertEquals( first42,
-                      list2.get( 5 ) );
-    }
+		StatelessSession session = ruleBase.newStatelessSession();
+		List list = new ArrayList();
+		session.setGlobal("list", list);
+		session.execute("not integer");
+		assertEquals("not integer", list.get(0));
+	}
 
-    public void testIterateObjects() throws Exception {
-        final PackageBuilder builder = new PackageBuilder();
-        builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_IterateObjects.drl" ) ) );
-        final Package pkg = builder.getPackage();
+	public void testDynamicallyAddInitialFactRule() throws Exception {
+		PackageBuilder builder = new PackageBuilder();
+		String rule = "package org.drools.test\n global java.util.List list\n rule xxx\n when\n i:Integer()\nthen\n list.add(i);\nend";
+		builder.addPackageFromDrl(new StringReader(rule));
+		Package pkg = builder.getPackage();
 
-        final RuleBase ruleBase = getRuleBase();
-        ruleBase.addPackage( pkg );
-        final WorkingMemory workingMemory = ruleBase.newStatefulSession();
+		final RuleBase ruleBase = getRuleBase();
+		ruleBase.addPackage(pkg);
 
-        final List results = new ArrayList();
-        workingMemory.setGlobal( "results",
-                                 results );
+		StatefulSession session = ruleBase.newStatefulSession();
+		List list = new ArrayList();
+		session.setGlobal("list", list);
 
-        workingMemory.insert( new Cheese( "stilton",
-                                          10 ) );
+		session.insert(new Integer(5));
+		session.fireAllRules();
 
-        workingMemory.fireAllRules();
+		assertEquals(new Integer(5), list.get(0));
 
-        Iterator events = workingMemory.iterateObjects( new ClassObjectFilter( PersonInterface.class ) );
+		builder = new PackageBuilder();
+		rule = "package org.drools.test\n global java.util.List list\n rule xxx\n when\nthen\n list.add(\"x\");\nend";
+		builder.addPackageFromDrl(new StringReader(rule));
+		pkg = builder.getPackage();
 
-        assertTrue( events.hasNext() );
-        assertEquals( 1,
-                      results.size() );
-        assertEquals( results.get( 0 ),
-                      events.next() );
-    }
+		// Make sure that this rule is fired as the Package is updated, it also
+		// tests that InitialFactImpl is still in the network
+		// even though the first rule didn't use it.
+		ruleBase.addPackage(pkg);
 
-    public void testNotInStatelessSession() throws Exception {
-        final PackageBuilder builder = new PackageBuilder();
-        builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_NotInStatelessSession.drl" ) ) );
-        final Package pkg = builder.getPackage();
+		assertEquals("x", list.get(1));
 
-        RuleBaseConfiguration conf = new RuleBaseConfiguration();
-        conf.setSequential( true );
-        final RuleBase ruleBase = getRuleBase( conf );
-        ruleBase.addPackage( pkg );
+	}
 
-        StatelessSession session = ruleBase.newStatelessSession();
-        List list = new ArrayList();
-        session.setGlobal( "list",
-                           list );
-        session.execute( "not integer" );
-        assertEquals( "not integer",
-                      list.get( 0 ) );
-    }
+	public void testEvalRewriteWithSpecialOperators() throws Exception {
+		final PackageBuilder builder = new PackageBuilder();
+		builder.addPackageFromDrl(new InputStreamReader(
+				getClass().getResourceAsStream(
+						"test_EvalRewriteWithSpecialOperators.drl")));
+		final Package pkg = builder.getPackage();
 
-    public void testDynamicallyAddInitialFactRule() throws Exception {
-        PackageBuilder builder = new PackageBuilder();
-        String rule = "package org.drools.test\n global java.util.List list\n rule xxx\n when\n i:Integer()\nthen\n list.add(i);\nend";
-        builder.addPackageFromDrl( new StringReader( rule ) );
-        Package pkg = builder.getPackage();
+		final RuleBase ruleBase = getRuleBase();
+		ruleBase.addPackage(pkg);
+		final WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
-        final RuleBase ruleBase = getRuleBase();
-        ruleBase.addPackage( pkg );
+		final List list = new ArrayList();
+		workingMemory.setGlobal("results", list);
 
-        StatefulSession session = ruleBase.newStatefulSession();
-        List list = new ArrayList();
-        session.setGlobal( "list",
-                           list );
+		final Order order1 = new Order(10, "Bob");
+		final OrderItem item11 = new OrderItem(order1, 1);
+		final OrderItem item12 = new OrderItem(order1, 2);
+		order1.addItem(item11);
+		order1.addItem(item12);
+		final Order order2 = new Order(11, "Bob");
+		final OrderItem item21 = new OrderItem(order2, 1);
+		final OrderItem item22 = new OrderItem(order2, 2);
+		order2.addItem(item21);
+		order2.addItem(item22);
+		final Order order3 = new Order(12, "Bob");
+		final OrderItem item31 = new OrderItem(order3, 1);
+		final OrderItem item32 = new OrderItem(order3, 2);
+		final OrderItem item33 = new OrderItem(order3, 3);
+		order3.addItem(item31);
+		order3.addItem(item32);
+		order3.addItem(item33);
+		final Order order4 = new Order(13, "Bob");
+		final OrderItem item41 = new OrderItem(order4, 1);
+		final OrderItem item42 = new OrderItem(order4, 2);
+		order4.addItem(item41);
+		order4.addItem(item42);
+		final Order order5 = new Order(14, "Mark");
+		final OrderItem item51 = new OrderItem(order5, 1);
+		final OrderItem item52 = new OrderItem(order5, 2);
+		order5.addItem(item51);
+		order5.addItem(item52);
+		workingMemory.insert(order1);
+		workingMemory.insert(item11);
+		workingMemory.insert(item12);
+		workingMemory.insert(order2);
+		workingMemory.insert(item21);
+		workingMemory.insert(item22);
+		workingMemory.insert(order3);
+		workingMemory.insert(item31);
+		workingMemory.insert(item32);
+		workingMemory.insert(item33);
+		workingMemory.insert(order4);
+		workingMemory.insert(item41);
+		workingMemory.insert(item42);
+		workingMemory.insert(order5);
+		workingMemory.insert(item51);
+		workingMemory.insert(item52);
 
-        session.insert( new Integer( 5 ) );
-        session.fireAllRules();
+		workingMemory.fireAllRules();
 
-        assertEquals( new Integer( 5 ),
-                      list.get( 0 ) );
+		assertEquals(9, list.size());
+		int index = 0;
+		assertEquals(item11, list.get(index++));
+		assertEquals(item12, list.get(index++));
+		assertEquals(item21, list.get(index++));
+		assertEquals(item22, list.get(index++));
+		assertEquals(item31, list.get(index++));
+		assertEquals(item33, list.get(index++));
+		assertEquals(item41, list.get(index++));
+		assertEquals(order5, list.get(index++));
+		assertEquals(order5, list.get(index++));
 
-        builder = new PackageBuilder();
-        rule = "package org.drools.test\n global java.util.List list\n rule xxx\n when\nthen\n list.add(\"x\");\nend";
-        builder.addPackageFromDrl( new StringReader( rule ) );
-        pkg = builder.getPackage();
+	}
 
-        // Make sure that this rule is fired as the Package is updated, it also tests that InitialFactImpl is still in the network
-        // even though the first rule didn't use it.
-        ruleBase.addPackage( pkg );
+	public void testImportColision() throws Exception {
 
-        assertEquals( "x",
-                      list.get( 1 ) );
+		final PackageBuilder builder = new PackageBuilder();
+		final PackageBuilder builder2 = new PackageBuilder();
+		builder.addPackageFromDrl(new InputStreamReader(getClass()
+				.getResourceAsStream("nested1.drl")));
+		builder2.addPackageFromDrl(new InputStreamReader(getClass()
+				.getResourceAsStream("nested2.drl")));
+		final Package pkg = builder.getPackage();
+		final Package pkg2 = builder2.getPackage();
 
-    }
+		final RuleBase ruleBase = getRuleBase();
+		ruleBase.addPackage(pkg);
+		ruleBase.addPackage(pkg2);
 
-    public void testEvalRewriteWithSpecialOperators() throws Exception {
-        final PackageBuilder builder = new PackageBuilder();
-        builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_EvalRewriteWithSpecialOperators.drl" ) ) );
-        final Package pkg = builder.getPackage();
+		final WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
-        final RuleBase ruleBase = getRuleBase();
-        ruleBase.addPackage( pkg );
-        final WorkingMemory workingMemory = ruleBase.newStatefulSession();
+		workingMemory.insert(new FirstClass());
+		workingMemory.insert(new SecondClass());
+		workingMemory.insert(new FirstClass.AlternativeKey());
+		workingMemory.insert(new SecondClass.AlternativeKey());
 
-        final List list = new ArrayList();
-        workingMemory.setGlobal( "results",
-                                 list );
+		workingMemory.fireAllRules();
+	}
 
-        final Order order1 = new Order( 10,
-                                        "Bob" );
-        final OrderItem item11 = new OrderItem( order1,
-                                                1 );
-        final OrderItem item12 = new OrderItem( order1,
-                                                2 );
-        order1.addItem( item11 );
-        order1.addItem( item12 );
-        final Order order2 = new Order( 11,
-                                        "Bob" );
-        final OrderItem item21 = new OrderItem( order2,
-                                                1 );
-        final OrderItem item22 = new OrderItem( order2,
-                                                2 );
-        order2.addItem( item21 );
-        order2.addItem( item22 );
-        final Order order3 = new Order( 12,
-                                        "Bob" );
-        final OrderItem item31 = new OrderItem( order3,
-                                                1 );
-        final OrderItem item32 = new OrderItem( order3,
-                                                2 );
-        final OrderItem item33 = new OrderItem( order3,
-                                                3 );
-        order3.addItem( item31 );
-        order3.addItem( item32 );
-        order3.addItem( item33 );
-        final Order order4 = new Order( 13,
-                                        "Bob" );
-        final OrderItem item41 = new OrderItem( order4,
-                                                1 );
-        final OrderItem item42 = new OrderItem( order4,
-                                                2 );
-        order4.addItem( item41 );
-        order4.addItem( item42 );
-        final Order order5 = new Order( 14,
-                                        "Mark" );
-        final OrderItem item51 = new OrderItem( order5,
-                                                1 );
-        final OrderItem item52 = new OrderItem( order5,
-                                                2 );
-        order5.addItem( item51 );
-        order5.addItem( item52 );
-        workingMemory.insert( order1 );
-        workingMemory.insert( item11 );
-        workingMemory.insert( item12 );
-        workingMemory.insert( order2 );
-        workingMemory.insert( item21 );
-        workingMemory.insert( item22 );
-        workingMemory.insert( order3 );
-        workingMemory.insert( item31 );
-        workingMemory.insert( item32 );
-        workingMemory.insert( item33 );
-        workingMemory.insert( order4 );
-        workingMemory.insert( item41 );
-        workingMemory.insert( item42 );
-        workingMemory.insert( order5 );
-        workingMemory.insert( item51 );
-        workingMemory.insert( item52 );
+	public void testAutovivificationOfVariableRestrictions() throws Exception {
+		final PackageBuilder builder = new PackageBuilder();
+		builder.addPackageFromDrl(new InputStreamReader(getClass()
+				.getResourceAsStream("test_AutoVivificationVR.drl")));
+		final Package pkg = builder.getPackage();
 
-        workingMemory.fireAllRules();
+		final RuleBase ruleBase = getRuleBase();
+		ruleBase.addPackage(pkg);
+		final WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
-        assertEquals( 9,
-                      list.size() );
-        int index = 0;
-        assertEquals( item11,
-                      list.get( index++ ) );
-        assertEquals( item12,
-                      list.get( index++ ) );
-        assertEquals( item21,
-                      list.get( index++ ) );
-        assertEquals( item22,
-                      list.get( index++ ) );
-        assertEquals( item31,
-                      list.get( index++ ) );
-        assertEquals( item33,
-                      list.get( index++ ) );
-        assertEquals( item41,
-                      list.get( index++ ) );
-        assertEquals( order5,
-                      list.get( index++ ) );
-        assertEquals( order5,
-                      list.get( index++ ) );
+		final List results = new ArrayList();
+		workingMemory.setGlobal("results", results);
 
-    }
+		workingMemory.insert(new Cheese("stilton", 10, 8));
 
-    public void testImportColision() throws Exception {
+		workingMemory.fireAllRules();
 
-        final PackageBuilder builder = new PackageBuilder();
-        final PackageBuilder builder2 = new PackageBuilder();
-        builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "nested1.drl" ) ) );
-        builder2.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "nested2.drl" ) ) );
-        final Package pkg = builder.getPackage();
-        final Package pkg2 = builder2.getPackage();
+		assertEquals(1, results.size());
+	}
 
-        final RuleBase ruleBase = getRuleBase();
-        ruleBase.addPackage( pkg );
-        ruleBase.addPackage( pkg2 );
+	public void testShadowProxyOnCollections() throws Exception {
+		final PackageBuilder builder = new PackageBuilder();
+		builder.addPackageFromDrl(new InputStreamReader(getClass()
+				.getResourceAsStream("test_ShadowProxyOnCollections.drl")));
+		final Package pkg = builder.getPackage();
 
-        final WorkingMemory workingMemory = ruleBase.newStatefulSession();
+		final RuleBase ruleBase = getRuleBase();
+		ruleBase.addPackage(pkg);
+		final WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
-        workingMemory.insert( new FirstClass() );
-        workingMemory.insert( new SecondClass() );
-        workingMemory.insert( new FirstClass.AlternativeKey() );
-        workingMemory.insert( new SecondClass.AlternativeKey() );
+		final List results = new ArrayList();
+		workingMemory.setGlobal("results", results);
 
-        workingMemory.fireAllRules();
-    }
+		final Cheesery cheesery = new Cheesery();
+		workingMemory.insert(cheesery);
 
-    public void testAutovivificationOfVariableRestrictions() throws Exception {
-        final PackageBuilder builder = new PackageBuilder();
-        builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_AutoVivificationVR.drl" ) ) );
-        final Package pkg = builder.getPackage();
+		workingMemory.fireAllRules();
 
-        final RuleBase ruleBase = getRuleBase();
-        ruleBase.addPackage( pkg );
-        final WorkingMemory workingMemory = ruleBase.newStatefulSession();
+		assertEquals(1, results.size());
+		assertEquals(1, cheesery.getCheeses().size());
+		assertEquals(results.get(0), cheesery.getCheeses().get(0));
+	}
 
-        final List results = new ArrayList();
-        workingMemory.setGlobal( "results",
-                                 results );
+	public void testQueryWithCollect() throws Exception {
+		final PackageBuilder builder = new PackageBuilder();
+		builder.addPackageFromDrl(new InputStreamReader(getClass()
+				.getResourceAsStream("test_Query.drl")));
 
-        workingMemory.insert( new Cheese( "stilton",
-                                          10,
-                                          8 ) );
+		final RuleBase ruleBase = getRuleBase();
+		ruleBase.addPackage(builder.getPackage());
 
-        workingMemory.fireAllRules();
+		final WorkingMemory workingMemory = ruleBase.newStatefulSession();
+		workingMemory.fireAllRules();
 
-        assertEquals( 1,
-                      results.size() );
-    }
+		final QueryResults results = workingMemory
+				.getQueryResults("collect objects");
+		assertEquals(1, results.size());
 
-    public void testShadowProxyOnCollections() throws Exception {
-        final PackageBuilder builder = new PackageBuilder();
-        builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_ShadowProxyOnCollections.drl" ) ) );
-        final Package pkg = builder.getPackage();
+		final QueryResult result = results.get(0);
+		final List list = (List) result.get("$list");
 
-        final RuleBase ruleBase = getRuleBase();
-        ruleBase.addPackage( pkg );
-        final WorkingMemory workingMemory = ruleBase.newStatefulSession();
+		assertEquals(2, list.size());
+	}
 
-        final List results = new ArrayList();
-        workingMemory.setGlobal( "results",
-                                 results );
+	public void testNestedAccessors() throws Exception {
+		final PackageBuilder builder = new PackageBuilder();
+		builder.addPackageFromDrl(new InputStreamReader(getClass()
+				.getResourceAsStream("test_NestedAccessors.drl")));
 
-        final Cheesery cheesery = new Cheesery();
-        workingMemory.insert( cheesery );
+		final RuleBase ruleBase = getRuleBase();
+		ruleBase.addPackage(builder.getPackage());
 
-        workingMemory.fireAllRules();
+		final WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
-        assertEquals( 1,
-                      results.size() );
-        assertEquals( 1,
-                      cheesery.getCheeses().size() );
-        assertEquals( results.get( 0 ),
-                      cheesery.getCheeses().get( 0 ) );
-    }
+		final List list = new ArrayList();
+		workingMemory.setGlobal("results", list);
 
-    public void testQueryWithCollect() throws Exception {
-        final PackageBuilder builder = new PackageBuilder();
-        builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_Query.drl" ) ) );
+		final Order order1 = new Order(11, "Bob");
+		final OrderItem item11 = new OrderItem(order1, 1);
+		final OrderItem item12 = new OrderItem(order1, 2);
+		order1.addItem(item11);
+		order1.addItem(item12);
 
-        final RuleBase ruleBase = getRuleBase();
-        ruleBase.addPackage( builder.getPackage() );
+		workingMemory.insert(order1);
+		workingMemory.insert(item11);
+		workingMemory.insert(item12);
 
-        final WorkingMemory workingMemory = ruleBase.newStatefulSession();
-        workingMemory.fireAllRules();
+		workingMemory.fireAllRules();
 
-        final QueryResults results = workingMemory.getQueryResults( "collect objects" );
-        assertEquals( 1,
-                      results.size() );
+		assertEquals(0, list.size());
 
-        final QueryResult result = results.get( 0 );
-        final List list = (List) result.get( "$list" );
+		final Order order2 = new Order(12, "Mark");
+		Order.OrderStatus status = new Order.OrderStatus();
+		status.setActive(true);
+		order2.setStatus(status);
+		final OrderItem item21 = new OrderItem(order2, 1);
+		final OrderItem item22 = new OrderItem(order2, 2);
+		order1.addItem(item21);
+		order1.addItem(item22);
 
-        assertEquals( 2,
-                      list.size() );
-    }
+		workingMemory.insert(order2);
+		workingMemory.insert(item21);
+		workingMemory.insert(item22);
 
-    public void testNestedAccessors() throws Exception {
-        final PackageBuilder builder = new PackageBuilder();
-        builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_NestedAccessors.drl" ) ) );
+		workingMemory.fireAllRules();
 
-        final RuleBase ruleBase = getRuleBase();
-        ruleBase.addPackage( builder.getPackage() );
+		assertEquals(2, list.size());
+		assertSame(item21, list.get(0));
+		assertSame(item22, list.get(1));
+	}
 
-        final WorkingMemory workingMemory = ruleBase.newStatefulSession();
+	public void testWorkingMemoryLoggerWithUnbalancedBranches()
+			throws Exception {
+		final PackageBuilder builder = new PackageBuilder();
+		builder.addPackageFromDrl(new InputStreamReader(getClass()
+				.getResourceAsStream("test_Logger.drl")));
+		final Package pkg = builder.getPackage();
 
-        final List list = new ArrayList();
-        workingMemory.setGlobal( "results",
-                                 list );
+		final RuleBase ruleBase = getRuleBase();
+		ruleBase.addPackage(pkg);
 
-        final Order order1 = new Order( 11,
-                                        "Bob" );
-        final OrderItem item11 = new OrderItem( order1,
-                                                1 );
-        final OrderItem item12 = new OrderItem( order1,
-                                                2 );
-        order1.addItem( item11 );
-        order1.addItem( item12 );
+		final WorkingMemory wm = ruleBase.newStatefulSession();
 
-        workingMemory.insert( order1 );
-        workingMemory.insert( item11 );
-        workingMemory.insert( item12 );
+		try {
+			final WorkingMemoryFileLogger logger = new WorkingMemoryFileLogger(
+					wm);
+			logger.setFileName("testLogger");
 
-        workingMemory.fireAllRules();
+			wm.fireAllRules();
 
-        assertEquals( 0,
-                      list.size() );
+			wm.insert(new Cheese("a", 10));
+			wm.insert(new Cheese("b", 11));
 
-        final Order order2 = new Order( 12,
-                                        "Mark" );
-        Order.OrderStatus status = new Order.OrderStatus();
-        status.setActive( true );
-        order2.setStatus( status );
-        final OrderItem item21 = new OrderItem( order2,
-                                                1 );
-        final OrderItem item22 = new OrderItem( order2,
-                                                2 );
-        order1.addItem( item21 );
-        order1.addItem( item22 );
+			wm.fireAllRules();
 
-        workingMemory.insert( order2 );
-        workingMemory.insert( item21 );
-        workingMemory.insert( item22 );
+			// logger.writeToDisk();
+		} catch (Exception e) {
+			e.printStackTrace();
+			fail("No exception should be raised ");
+		}
 
-        workingMemory.fireAllRules();
+	}
 
-        assertEquals( 2,
-                      list.size() );
-        assertSame( item21,
-                    list.get( 0 ) );
-        assertSame( item22,
-                    list.get( 1 ) );
-    }
+	public void testFromNestedAccessors() throws Exception {
+		final PackageBuilder builder = new PackageBuilder();
+		builder.addPackageFromDrl(new InputStreamReader(getClass()
+				.getResourceAsStream("test_FromNestedAccessors.drl")));
 
-    public void testWorkingMemoryLoggerWithUnbalancedBranches() throws Exception {
-        final PackageBuilder builder = new PackageBuilder();
-        builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_Logger.drl" ) ) );
-        final Package pkg = builder.getPackage();
+		final RuleBase ruleBase = getRuleBase();
+		ruleBase.addPackage(builder.getPackage());
 
-        final RuleBase ruleBase = getRuleBase();
-        ruleBase.addPackage( pkg );
+		final WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
-        final WorkingMemory wm = ruleBase.newStatefulSession();
+		final List list = new ArrayList();
+		workingMemory.setGlobal("results", list);
 
-        try {
-            final WorkingMemoryFileLogger logger = new WorkingMemoryFileLogger( wm );
-            logger.setFileName( "testLogger" );
+		final Order order1 = new Order(11, "Bob");
+		final OrderItem item11 = new OrderItem(order1, 1);
+		final OrderItem item12 = new OrderItem(order1, 2);
+		order1.addItem(item11);
+		order1.addItem(item12);
 
-            wm.fireAllRules();
+		workingMemory.insert(order1);
+		workingMemory.insert(item11);
+		workingMemory.insert(item12);
 
-            wm.insert( new Cheese( "a",
-                                   10 ) );
-            wm.insert( new Cheese( "b",
-                                   11 ) );
+		workingMemory.fireAllRules();
 
-            wm.fireAllRules();
+		assertEquals(1, list.size());
 
-            //            logger.writeToDisk();
-        } catch ( Exception e ) {
-            e.printStackTrace();
-            fail( "No exception should be raised " );
-        }
+		assertSame(order1.getStatus(), list.get(0));
+	}
 
-    }
+	public void testFromArrayIteration() throws Exception {
+		final PackageBuilder builder = new PackageBuilder();
+		builder.addPackageFromDrl(new InputStreamReader(getClass()
+				.getResourceAsStream("test_FromArrayIteration.drl")));
 
-    public void testFromNestedAccessors() throws Exception {
-        final PackageBuilder builder = new PackageBuilder();
-        builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_FromNestedAccessors.drl" ) ) );
+		final RuleBase ruleBase = getRuleBase();
+		ruleBase.addPackage(builder.getPackage());
 
-        final RuleBase ruleBase = getRuleBase();
-        ruleBase.addPackage( builder.getPackage() );
+		final WorkingMemory session = ruleBase.newStatefulSession();
+		List list = new ArrayList();
 
-        final WorkingMemory workingMemory = ruleBase.newStatefulSession();
+		session.setGlobal("list", list);
+		session.insert(new DomainObjectHolder());
 
-        final List list = new ArrayList();
-        workingMemory.setGlobal( "results",
-                                 list );
+		session.fireAllRules();
 
-        final Order order1 = new Order( 11,
-                                        "Bob" );
-        final OrderItem item11 = new OrderItem( order1,
-                                                1 );
-        final OrderItem item12 = new OrderItem( order1,
-                                                2 );
-        order1.addItem( item11 );
-        order1.addItem( item12 );
+		assertEquals(3, list.size());
 
-        workingMemory.insert( order1 );
-        workingMemory.insert( item11 );
-        workingMemory.insert( item12 );
+		assertEquals("Message3", list.get(0));
+		assertEquals("Message2", list.get(1));
+		assertEquals("Message1", list.get(2));
 
-        workingMemory.fireAllRules();
+	}
 
-        assertEquals( 1,
-                      list.size() );
+	public void testSubNetworks() throws Exception {
+		final PackageBuilder builder = new PackageBuilder();
+		builder.addPackageFromDrl(new InputStreamReader(getClass()
+				.getResourceAsStream("test_SubNetworks.drl")));
 
-        assertSame( order1.getStatus(),
-                    list.get( 0 ) );
-    }
-    
-    public void testFromArrayIteration() throws Exception {
-        final PackageBuilder builder = new PackageBuilder();
-        builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_FromArrayIteration.drl" ) ) );
+		final RuleBase ruleBase = getRuleBase();
 
-        final RuleBase ruleBase = getRuleBase();
-        ruleBase.addPackage( builder.getPackage() );
+		try {
+			ruleBase.addPackage(builder.getPackage());
+		} catch (Exception e) {
+			e.printStackTrace();
+			fail("Should not raise any exception!");
+		}
 
-        final WorkingMemory session = ruleBase.newStatefulSession();
-        List list = new ArrayList();
-        
-        session.setGlobal( "list", list );
-        session.insert( new DomainObjectHolder() );
-        
-        session.fireAllRules();
-        
-        assertEquals( 3, list.size() );
-        
-        assertEquals( "Message3" , list.get(0));
-        assertEquals( "Message2" , list.get(1));
-        assertEquals( "Message1" , list.get(2));
-        
-    }
+	}
 
-    public void testSubNetworks() throws Exception {
-        final PackageBuilder builder = new PackageBuilder();
-        builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_SubNetworks.drl" ) ) );
+	public void testFinalClass() throws Exception {
+		final PackageBuilder builder = new PackageBuilder();
+		builder.addPackageFromDrl(new InputStreamReader(getClass()
+				.getResourceAsStream("test_FinalClass.drl")));
 
-        final RuleBase ruleBase = getRuleBase();
+		final RuleBase ruleBase = getRuleBase();
+		ruleBase.addPackage(builder.getPackage());
 
-        try {
-            ruleBase.addPackage( builder.getPackage() );
-        } catch ( Exception e ) {
-            e.printStackTrace();
-            fail( "Should not raise any exception!" );
-        }
+		final WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
-    }
+		final List list = new ArrayList();
+		workingMemory.setGlobal("results", list);
 
-    public void testFinalClass() throws Exception {
-        final PackageBuilder builder = new PackageBuilder();
-        builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_FinalClass.drl" ) ) );
+		final PersonFinal bob = new PersonFinal();
+		bob.setName("bob");
+		bob.setStatus(null);
 
-        final RuleBase ruleBase = getRuleBase();
-        ruleBase.addPackage( builder.getPackage() );
+		workingMemory.insert(bob);
 
-        final WorkingMemory workingMemory = ruleBase.newStatefulSession();
+		workingMemory.fireAllRules();
 
-        final List list = new ArrayList();
-        workingMemory.setGlobal( "results",
-                                 list );
+		assertEquals(1, list.size());
 
-        final PersonFinal bob = new PersonFinal();
-        bob.setName( "bob" );
-        bob.setStatus( null );
+		// Dynamic addition of rules which use the final class are not supported
+		// yet
+		// final PackageBuilder builder2 = new PackageBuilder();
+		// builder2.addPackageFromDrl( new InputStreamReader(
+		// getClass().getResourceAsStream( "test_FinalClass2.drl" ) ) );
+		// ruleBase.addPackage( builder2.getPackage() );
+		//        
+		// // it will automatically fire the rule
+		// assertEquals( 2,
+		// list.size() );
+	}
 
-        workingMemory.insert( bob );
+	public void testEvalRewriteMatches() throws Exception {
+		final PackageBuilder builder = new PackageBuilder();
+		builder.addPackageFromDrl(new InputStreamReader(getClass()
+				.getResourceAsStream("test_EvalRewriteMatches.drl")));
+		final Package pkg = builder.getPackage();
 
-        workingMemory.fireAllRules();
+		final RuleBase ruleBase = getRuleBase();
+		ruleBase.addPackage(pkg);
+		final WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
-        assertEquals( 1,
-                      list.size() );
+		final List list = new ArrayList();
+		workingMemory.setGlobal("results", list);
 
-        // Dynamic addition of rules which use the final class are not supported yet
-        //        final PackageBuilder builder2 = new PackageBuilder();
-        //        builder2.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_FinalClass2.drl" ) ) );
-        //        ruleBase.addPackage( builder2.getPackage() );
-        //        
-        //        // it will automatically fire the rule
-        //        assertEquals( 2,
-        //                      list.size() );
-    }
+		final Order order1 = new Order(14, "Mark");
+		final OrderItem item11 = new OrderItem(order1, 1);
+		final OrderItem item12 = new OrderItem(order1, 2);
+		order1.addItem(item11);
+		order1.addItem(item12);
 
-    public void testEvalRewriteMatches() throws Exception {
-        final PackageBuilder builder = new PackageBuilder();
-        builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_EvalRewriteMatches.drl" ) ) );
-        final Package pkg = builder.getPackage();
+		workingMemory.insert(order1);
+		workingMemory.insert(item11);
+		workingMemory.insert(item12);
 
-        final RuleBase ruleBase = getRuleBase();
-        ruleBase.addPackage( pkg );
-        final WorkingMemory workingMemory = ruleBase.newStatefulSession();
+		workingMemory.fireAllRules();
 
-        final List list = new ArrayList();
-        workingMemory.setGlobal( "results",
-                                 list );
+		assertEquals(2, list.size());
+		assertTrue(list.contains(item11));
+		assertTrue(list.contains(item12));
+	}
 
-        final Order order1 = new Order( 14,
-                                        "Mark" );
-        final OrderItem item11 = new OrderItem( order1,
-                                                1 );
-        final OrderItem item12 = new OrderItem( order1,
-                                                2 );
-        order1.addItem( item11 );
-        order1.addItem( item12 );
+	public void testConsequenceBuilderException() throws Exception {
+		final PackageBuilder builder = new PackageBuilder();
+		builder.addPackageFromDrl(new InputStreamReader(getClass()
+				.getResourceAsStream("test_ConsequenceBuilderException.drl")));
 
-        workingMemory.insert( order1 );
-        workingMemory.insert( item11 );
-        workingMemory.insert( item12 );
+		assertTrue(builder.hasErrors());
+	}
 
-        workingMemory.fireAllRules();
+	public void testRuntimeTypeCoercion() throws Exception {
+		final PackageBuilder builder = new PackageBuilder();
+		builder.addPackageFromDrl(new InputStreamReader(getClass()
+				.getResourceAsStream("test_RuntimeTypeCoercion.drl")));
+		final Package pkg = builder.getPackage();
 
-        assertEquals( 2,
-                      list.size() );
-        assertTrue( list.contains( item11 ) );
-        assertTrue( list.contains( item12 ) );
-    }
+		final RuleBase ruleBase = getRuleBase();
+		ruleBase.addPackage(pkg);
+		final WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
-    public void testConsequenceBuilderException() throws Exception {
-        final PackageBuilder builder = new PackageBuilder();
-        builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_ConsequenceBuilderException.drl" ) ) );
+		final List list = new ArrayList();
+		workingMemory.setGlobal("results", list);
 
-        assertTrue( builder.hasErrors() );
-    }
+		final PolymorphicFact fact = new PolymorphicFact(new Integer(10));
+		final FactHandle handle = workingMemory.insert(fact);
 
-    public void testRuntimeTypeCoercion() throws Exception {
-        final PackageBuilder builder = new PackageBuilder();
-        builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_RuntimeTypeCoercion.drl" ) ) );
-        final Package pkg = builder.getPackage();
+		workingMemory.fireAllRules();
 
-        final RuleBase ruleBase = getRuleBase();
-        ruleBase.addPackage( pkg );
-        final WorkingMemory workingMemory = ruleBase.newStatefulSession();
+		assertEquals(1, list.size());
+		assertEquals(fact.getData(), list.get(0));
 
-        final List list = new ArrayList();
-        workingMemory.setGlobal( "results",
-                                 list );
+		fact.setData("10");
+		workingMemory.update(handle, fact);
+		workingMemory.fireAllRules();
 
-        final PolymorphicFact fact = new PolymorphicFact( new Integer( 10 ) );
-        final FactHandle handle = workingMemory.insert( fact );
+		assertEquals(2, list.size());
+		assertEquals(fact.getData(), list.get(1));
 
-        workingMemory.fireAllRules();
+		try {
+			fact.setData(new Boolean(true));
+			workingMemory.update(handle, fact);
+			fail("Should not allow to compare < with a Boolean object");
+		} catch (ClassCastException cce) {
+			// success, as can't use "<" to compare to a boolean
+		}
 
-        assertEquals( 1,
-                      list.size() );
-        assertEquals( fact.getData(),
-                      list.get( 0 ) );
+	}
 
-        fact.setData( "10" );
-        workingMemory.update( handle,
-                              fact );
-        workingMemory.fireAllRules();
+	public void testRuntimeTypeCoercion2() throws Exception {
+		final PackageBuilder builder = new PackageBuilder();
+		builder.addPackageFromDrl(new InputStreamReader(getClass()
+				.getResourceAsStream("test_RuntimeTypeCoercion2.drl")));
+		final Package pkg = builder.getPackage();
 
-        assertEquals( 2,
-                      list.size() );
-        assertEquals( fact.getData(),
-                      list.get( 1 ) );
+		final RuleBase ruleBase = getRuleBase();
+		ruleBase.addPackage(pkg);
+		final WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
-        try {
-            fact.setData( new Boolean( true ) );
-            workingMemory.update( handle,
-                                  fact );
-            fail( "Should not allow to compare < with a Boolean object" );
-        } catch ( ClassCastException cce ) {
-            // success, as can't use "<" to compare to a boolean
-        }
+		final List list = new ArrayList();
+		workingMemory.setGlobal("results", list);
 
-    }
+		final Primitives fact = new Primitives();
+		fact.setBooleanPrimitive(true);
+		fact.setBooleanWrapper(new Boolean(true));
+		fact.setObject(new Boolean(true));
+		fact.setCharPrimitive('X');
+		final FactHandle handle = workingMemory.insert(fact);
 
-    public void testRuntimeTypeCoercion2() throws Exception {
-        final PackageBuilder builder = new PackageBuilder();
-        builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_RuntimeTypeCoercion2.drl" ) ) );
-        final Package pkg = builder.getPackage();
+		workingMemory.fireAllRules();
 
-        final RuleBase ruleBase = getRuleBase();
-        ruleBase.addPackage( pkg );
-        final WorkingMemory workingMemory = ruleBase.newStatefulSession();
+		int index = 0;
+		assertEquals(list.toString(), 4, list.size());
+		assertEquals("boolean", list.get(index++));
+		assertEquals("boolean wrapper", list.get(index++));
+		assertEquals("boolean object", list.get(index++));
+		assertEquals("char", list.get(index++));
 
-        final List list = new ArrayList();
-        workingMemory.setGlobal( "results",
-                                 list );
+		fact.setBooleanPrimitive(false);
+		fact.setBooleanWrapper(null);
+		fact.setCharPrimitive('\0');
+		fact.setObject(new Character('X'));
+		workingMemory.update(handle, fact);
+		workingMemory.fireAllRules();
+		assertEquals(5, list.size());
+		assertEquals("char object", list.get(index++));
 
-        final Primitives fact = new Primitives();
-        fact.setBooleanPrimitive( true );
-        fact.setBooleanWrapper( new Boolean( true ) );
-        fact.setObject( new Boolean( true ) );
-        fact.setCharPrimitive( 'X' );
-        final FactHandle handle = workingMemory.insert( fact );
+		fact.setObject(null);
+		workingMemory.update(handle, fact);
+		workingMemory.fireAllRules();
+		assertEquals(6, list.size());
+		assertEquals("null object", list.get(index++));
 
-        workingMemory.fireAllRules();
+	}
 
-        int index = 0;
-        assertEquals( list.toString(),
-                      4,
-                      list.size() );
-        assertEquals( "boolean",
-                      list.get( index++ ) );
-        assertEquals( "boolean wrapper",
-                      list.get( index++ ) );
-        assertEquals( "boolean object",
-                      list.get( index++ ) );
-        assertEquals( "char",
-                      list.get( index++ ) );
+	public void testAlphaEvalWithOrCE() throws Exception {
+		final PackageBuilder builder = new PackageBuilder();
+		builder.addPackageFromDrl(new InputStreamReader(getClass()
+				.getResourceAsStream("test_AlphaEvalWithOrCE.drl")));
+		final Package pkg = builder.getPackage();
 
-        fact.setBooleanPrimitive( false );
-        fact.setBooleanWrapper( null );
-        fact.setCharPrimitive( '\0' );
-        fact.setObject( new Character( 'X' ) );
-        workingMemory.update( handle,
-                              fact );
-        workingMemory.fireAllRules();
-        assertEquals( 5,
-                      list.size() );
-        assertEquals( "char object",
-                      list.get( index++ ) );
+		final RuleBase ruleBase = getRuleBase();
+		ruleBase.addPackage(pkg);
+		final WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
-        fact.setObject( null );
-        workingMemory.update( handle,
-                              fact );
-        workingMemory.fireAllRules();
-        assertEquals( 6,
-                      list.size() );
-        assertEquals( "null object",
-                      list.get( index++ ) );
+		final List list = new ArrayList();
+		workingMemory.setGlobal("results", list);
 
-    }
+		FactA a = new FactA();
+		a.setField1("a value");
 
-    public void testAlphaEvalWithOrCE() throws Exception {
-        final PackageBuilder builder = new PackageBuilder();
-        builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_AlphaEvalWithOrCE.drl" ) ) );
-        final Package pkg = builder.getPackage();
+		workingMemory.insert(a);
+		workingMemory.insert(new FactB());
+		workingMemory.insert(new FactC());
 
-        final RuleBase ruleBase = getRuleBase();
-        ruleBase.addPackage( pkg );
-        final WorkingMemory workingMemory = ruleBase.newStatefulSession();
+		workingMemory.fireAllRules();
 
-        final List list = new ArrayList();
-        workingMemory.setGlobal( "results",
-                                 list );
+		assertEquals("should not have fired", 0, list.size());
+	}
 
-        FactA a = new FactA();
-        a.setField1( "a value" );
+	public void testModifyBlock() throws Exception {
+		final PackageBuilder builder = new PackageBuilder();
+		builder.addPackageFromDrl(new InputStreamReader(getClass()
+				.getResourceAsStream("test_ModifyBlock.drl")));
+		final Package pkg = builder.getPackage();
 
-        workingMemory.insert( a );
-        workingMemory.insert( new FactB() );
-        workingMemory.insert( new FactC() );
+		final RuleBase ruleBase = getRuleBase();
+		ruleBase.addPackage(pkg);
+		final WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
-        workingMemory.fireAllRules();
+		final List list = new ArrayList();
+		workingMemory.setGlobal("results", list);
 
-        assertEquals( "should not have fired",
-                      0,
-                      list.size() );
-    }    
-    
-    public void testModifyBlock() throws Exception {
-        final PackageBuilder builder = new PackageBuilder();
-     	builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_ModifyBlock.drl" ) ) );
-     	final Package pkg = builder.getPackage();
+		Person bob = new Person("Bob");
+		bob.setStatus("hungry");
 
-     	final RuleBase ruleBase = getRuleBase();
-     	ruleBase.addPackage( pkg );
-     	final WorkingMemory workingMemory = ruleBase.newStatefulSession();
+		Cheese c = new Cheese();
 
-     	final List list = new ArrayList();
-     	workingMemory.setGlobal( "results",
-     	                         list );
+		workingMemory.insert(bob);
+		workingMemory.insert(c);
 
-     	Person bob = new Person( "Bob" );
-     	bob.setStatus( "hungry" );
+		workingMemory.fireAllRules();
 
-     	Cheese c = new Cheese();
+		assertEquals(10, c.getPrice());
+		assertEquals("fine", bob.getStatus());
+	}
 
-     	workingMemory.insert( bob );
-     	workingMemory.insert( c );
+	// this test requires mvel 1.2.19. Leaving it commented until mvel is
+	// released.
+	public void testJavaModifyBlock() throws Exception {
+		final PackageBuilder builder = new PackageBuilder();
+		builder.addPackageFromDrl(new InputStreamReader(getClass()
+				.getResourceAsStream("test_JavaModifyBlock.drl")));
+		final Package pkg = builder.getPackage();
 
-     	workingMemory.fireAllRules();
+		final RuleBase ruleBase = getRuleBase();
+		ruleBase.addPackage(pkg);
+		final WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
-     	assertEquals( 10, c.getPrice() );
-     	assertEquals( "fine", bob.getStatus() );
-    }
-    
-    // this test requires mvel 1.2.19. Leaving it commented until mvel is released.
-    public void testJavaModifyBlock() throws Exception {
-        final PackageBuilder builder = new PackageBuilder();
-        builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_JavaModifyBlock.drl" ) ) );
-        final Package pkg = builder.getPackage();
+		final List list = new ArrayList();
+		workingMemory.setGlobal("results", list);
 
-        final RuleBase ruleBase = getRuleBase();
-        ruleBase.addPackage( pkg );
-        final WorkingMemory workingMemory = ruleBase.newStatefulSession();
+		Person bob = new Person("Bob", 30);
+		bob.setStatus("hungry");
+		workingMemory.insert(bob);
+		workingMemory.insert(new Cheese());
+		workingMemory.insert(new Cheese());
 
-        final List list = new ArrayList();
-        workingMemory.setGlobal( "results",
-                                 list );
+		workingMemory.fireAllRules(2);
 
-        Person bob = new Person( "Bob",
-                                 30 );
-        bob.setStatus( "hungry" );
-        workingMemory.insert( bob );
-        workingMemory.insert( new Cheese() );
-        workingMemory.insert( new Cheese() );
+		assertEquals("should have fired only once", 1, list.size());
+		assertEquals("full", bob.getStatus());
+		assertEquals(31, bob.getAge());
+	}
 
-        workingMemory.fireAllRules( 2 );
+	public void testOrCE() throws Exception {
+		final PackageBuilder builder = new PackageBuilder();
+		builder.addPackageFromDrl(new InputStreamReader(getClass()
+				.getResourceAsStream("test_OrCE.drl")));
+		final Package pkg = builder.getPackage();
 
-        assertEquals( "should have fired only once",
-                      1,
-                      list.size() );
-        assertEquals( "full",
-                      bob.getStatus() );
-        assertEquals( 31,
-                      bob.getAge() );
-    }
+		final RuleBase ruleBase = getRuleBase();
+		ruleBase.addPackage(pkg);
+		final WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
-    public void testOrCE() throws Exception {
-        final PackageBuilder builder = new PackageBuilder();
-        builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_OrCE.drl" ) ) );
-        final Package pkg = builder.getPackage();
+		final List list = new ArrayList();
+		workingMemory.setGlobal("results", list);
 
-        final RuleBase ruleBase = getRuleBase();
-        ruleBase.addPackage( pkg );
-        final WorkingMemory workingMemory = ruleBase.newStatefulSession();
+		workingMemory.insert(new Cheese("brie", 10));
+		workingMemory.insert(new Person("bob"));
 
-        final List list = new ArrayList();
-        workingMemory.setGlobal( "results",
-                                 list );
+		workingMemory.fireAllRules();
 
-        workingMemory.insert( new Cheese( "brie",
-                                          10 ) );
-        workingMemory.insert( new Person( "bob" ) );
+		assertEquals("should have fired once", 1, list.size());
+	}
 
-        workingMemory.fireAllRules();
+	public void testDeepNestedConstraints() throws Exception {
+		final PackageBuilder builder = new PackageBuilder();
+		builder.addPackageFromDrl(new InputStreamReader(getClass()
+				.getResourceAsStream("test_DeepNestedConstraints.drl")));
+		final Package pkg = builder.getPackage();
 
-        assertEquals( "should have fired once",
-                      1,
-                      list.size() );
-    }
+		final RuleBase ruleBase = getRuleBase();
+		ruleBase.addPackage(pkg);
+		final WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
-    public void testDeepNestedConstraints() throws Exception {
-        final PackageBuilder builder = new PackageBuilder();
-        builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_DeepNestedConstraints.drl" ) ) );
-        final Package pkg = builder.getPackage();
+		final List list = new ArrayList();
+		workingMemory.setGlobal("results", list);
 
-        final RuleBase ruleBase = getRuleBase();
-        ruleBase.addPackage( pkg );
-        final WorkingMemory workingMemory = ruleBase.newStatefulSession();
+		workingMemory.insert(new Person("bob", "muzzarela"));
+		workingMemory.insert(new Cheese("brie", 10));
+		workingMemory.insert(new Cheese("muzzarela", 80));
 
-        final List list = new ArrayList();
-        workingMemory.setGlobal( "results",
-                                 list );
+		workingMemory.fireAllRules();
 
-        workingMemory.insert( new Person( "bob",
-                                          "muzzarela" ) );
-        workingMemory.insert( new Cheese( "brie",
-                                          10 ) );
-        workingMemory.insert( new Cheese( "muzzarela",
-                                          80 ) );
+		assertEquals("should have fired twice", 2, list.size());
+	}
 
-        workingMemory.fireAllRules();
+	public void testGetFactHandleEqualityBehavior() throws Exception {
+		final RuleBaseConfiguration conf = new RuleBaseConfiguration();
+		conf.setAssertBehaviour(RuleBaseConfiguration.AssertBehaviour.EQUALITY);
+		final RuleBase ruleBase = RuleBaseFactory.newRuleBase(conf);
 
-        assertEquals( "should have fired twice",
-                      2,
-                      list.size() );
-    }
+		final StatefulSession session = ruleBase.newStatefulSession();
 
-    public void testGetFactHandleEqualityBehavior() throws Exception {
-        final RuleBaseConfiguration conf = new RuleBaseConfiguration();
-        conf.setAssertBehaviour( RuleBaseConfiguration.AssertBehaviour.EQUALITY );
-        final RuleBase ruleBase = RuleBaseFactory.newRuleBase( conf );
+		CheeseEqual cheese = new CheeseEqual("stilton", 10);
+		session.insert(cheese);
+		FactHandle fh = session.getFactHandle(new CheeseEqual("stilton", 10));
+		assertNotNull(fh);
+	}
 
-        final StatefulSession session = ruleBase.newStatefulSession();
+	public void testGetFactHandleIdentityBehavior() throws Exception {
+		final RuleBaseConfiguration conf = new RuleBaseConfiguration();
+		conf.setAssertBehaviour(RuleBaseConfiguration.AssertBehaviour.IDENTITY);
+		final RuleBase ruleBase = RuleBaseFactory.newRuleBase(conf);
 
-        CheeseEqual cheese = new CheeseEqual( "stilton",
-                                              10 );
-        session.insert( cheese );
-        FactHandle fh = session.getFactHandle( new CheeseEqual( "stilton",
-                                                                10 ) );
-        assertNotNull( fh );
-    }
+		final StatefulSession session = ruleBase.newStatefulSession();
 
-    public void testGetFactHandleIdentityBehavior() throws Exception {
-        final RuleBaseConfiguration conf = new RuleBaseConfiguration();
-        conf.setAssertBehaviour( RuleBaseConfiguration.AssertBehaviour.IDENTITY );
-        final RuleBase ruleBase = RuleBaseFactory.newRuleBase( conf );
+		CheeseEqual cheese = new CheeseEqual("stilton", 10);
+		session.insert(cheese);
+		FactHandle fh1 = session.getFactHandle(new Cheese("stilton", 10));
+		assertNull(fh1);
+		FactHandle fh2 = session.getFactHandle(cheese);
+		assertNotNull(fh2);
+	}
 
-        final StatefulSession session = ruleBase.newStatefulSession();
+	public void testOrCEFollowedByEval() throws Exception {
+		final PackageBuilder builder = new PackageBuilder();
+		builder.addPackageFromDrl(new InputStreamReader(getClass()
+				.getResourceAsStream("test_OrCEFollowedByEval.drl")));
+		final Package pkg = builder.getPackage();
 
-        CheeseEqual cheese = new CheeseEqual( "stilton",
-                                              10 );
-        session.insert( cheese );
-        FactHandle fh1 = session.getFactHandle( new Cheese( "stilton",
-                                                            10 ) );
-        assertNull( fh1 );
-        FactHandle fh2 = session.getFactHandle( cheese );
-        assertNotNull( fh2 );
-    }
+		final RuleBase ruleBase = getRuleBase();
+		ruleBase.addPackage(pkg);
+		final WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
-    public void testOrCEFollowedByEval() throws Exception {
-        final PackageBuilder builder = new PackageBuilder();
-        builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_OrCEFollowedByEval.drl" ) ) );
-        final Package pkg = builder.getPackage();
+		final List list = new ArrayList();
+		workingMemory.setGlobal("results", list);
 
-        final RuleBase ruleBase = getRuleBase();
-        ruleBase.addPackage( pkg );
-        final WorkingMemory workingMemory = ruleBase.newStatefulSession();
+		workingMemory.insert(new FactA("X"));
+		InternalFactHandle b = (InternalFactHandle) workingMemory
+				.insert(new FactB("X"));
 
-        final List list = new ArrayList();
-        workingMemory.setGlobal( "results",
-                                 list );
+		workingMemory.fireAllRules();
 
-        workingMemory.insert( new FactA( "X" ) );
-        InternalFactHandle b = (InternalFactHandle) workingMemory.insert( new FactB( "X" ) );
+		assertEquals("should have fired", 2, list.size());
+		assertTrue(list.contains(b.getObject()));
+	}
 
-        workingMemory.fireAllRules();
+	public void testNPEOnMVELAlphaPredicates() throws Exception {
+		final PackageBuilder builder = new PackageBuilder();
+		builder.addPackageFromDrl(new InputStreamReader(getClass()
+				.getResourceAsStream("test_NPEOnMVELPredicate.drl")));
+		final Package pkg = builder.getPackage();
 
-        assertEquals( "should have fired",
-                      2,
-                      list.size() );
-        assertTrue( list.contains( b.getObject() ) );
-    }
-    
-    public void testNPEOnMVELAlphaPredicates() throws Exception {
-        final PackageBuilder builder = new PackageBuilder();
-        builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_NPEOnMVELPredicate.drl" ) ) );
-        final Package pkg = builder.getPackage();
+		final RuleBase ruleBase = getRuleBase();
+		ruleBase.addPackage(pkg);
+		final StatefulSession session = ruleBase.newStatefulSession();
 
-        final RuleBase ruleBase = getRuleBase();
-        ruleBase.addPackage( pkg );
-        final StatefulSession session = ruleBase.newStatefulSession();
+		final List list = new ArrayList();
+		session.setGlobal("results", list);
 
-        final List list = new ArrayList();
-        session.setGlobal( "results",
-                                 list );
-        
-        Cheese cheese = new Cheese( "stilton", 10 );
-        Cheesery cheesery = new Cheesery();
-        cheesery.addCheese( cheese );
-        Person bob = new Person( "bob", "stilton" );
-        Cheese cheese2 = new Cheese();
-        bob.setCheese( cheese2 );
+		Cheese cheese = new Cheese("stilton", 10);
+		Cheesery cheesery = new Cheesery();
+		cheesery.addCheese(cheese);
+		Person bob = new Person("bob", "stilton");
+		Cheese cheese2 = new Cheese();
+		bob.setCheese(cheese2);
 
-        FactHandle p = session.insert( bob );
-        FactHandle c = session.insert( cheesery );
+		FactHandle p = session.insert(bob);
+		FactHandle c = session.insert(cheesery);
 
-        session.fireAllRules();
+		session.fireAllRules();
 
-        assertEquals( "should not have fired",
-                      0,
-                      list.size() );
-        
-        cheese2.setType( "stilton" );
-        
-        session.update( p, bob );
-        session.fireAllRules();
-        
-        assertEquals( 1,
-                      list.size() );
-        
-    }
-    
+		assertEquals("should not have fired", 0, list.size());
+
+		cheese2.setType("stilton");
+
+		session.update(p, bob);
+		session.fireAllRules();
+
+		assertEquals(1, list.size());
+
+	}
+
 }

Added: labs/jbossrules/branches/4.0.x/drools-compiler/src/test/resources/org/drools/integrationtests/test_MergePackageWithSameRuleNames1.drl
===================================================================
--- labs/jbossrules/branches/4.0.x/drools-compiler/src/test/resources/org/drools/integrationtests/test_MergePackageWithSameRuleNames1.drl	                        (rev 0)
+++ labs/jbossrules/branches/4.0.x/drools-compiler/src/test/resources/org/drools/integrationtests/test_MergePackageWithSameRuleNames1.drl	2008-03-12 02:46:49 UTC (rev 18864)
@@ -0,0 +1,10 @@
+package org.drools.test
+
+global java.util.List results;
+
+rule "rule1"
+	when
+		
+	then
+		results.add("rule1 for the package1");
+end
\ No newline at end of file

Added: labs/jbossrules/branches/4.0.x/drools-compiler/src/test/resources/org/drools/integrationtests/test_MergePackageWithSameRuleNames2.drl
===================================================================
--- labs/jbossrules/branches/4.0.x/drools-compiler/src/test/resources/org/drools/integrationtests/test_MergePackageWithSameRuleNames2.drl	                        (rev 0)
+++ labs/jbossrules/branches/4.0.x/drools-compiler/src/test/resources/org/drools/integrationtests/test_MergePackageWithSameRuleNames2.drl	2008-03-12 02:46:49 UTC (rev 18864)
@@ -0,0 +1,10 @@
+package org.drools.test
+
+global java.util.List results;
+
+rule "rule1"
+	when
+		
+	then
+		results.add("rule1 for the package2");
+end
\ No newline at end of file




More information about the jboss-svn-commits mailing list