}
public InternalWorkingMemory newWorkingMemory() {
this.ruleBase.readLock();
try {
InternalWorkingMemory wm = new ReteooWorkingMemory( this.ruleBase.nextWorkingMemoryCounter(),
this.ruleBase,
this.sessionConf,
EnvironmentFactory.newEnvironment(),
this.workingMemoryEventSupport,
this.agendaEventSupport);
wm.setGlobalResolver( this.globalResolver );
final InternalFactHandle handle = wm.getFactHandleFactory().newFactHandle( InitialFactImpl.getInstance(),
wm.getObjectTypeConfigurationRegistry().getObjectTypeConf( EntryPoint.DEFAULT,
InitialFactImpl.getInstance() ),
wm,
wm);
wm.queueWorkingMemoryAction( new WorkingMemoryReteAssertAction( handle,
false,
true,
null,
null ) );
return wm;