public void remove(RuleRemovalContext context, ReteooBuilder builder, InternalWorkingMemory[] workingMemories) { context.addRemovedNode(this); this.removeAssociation( context.getRule() ); doRemove( context, builder, workingMemories ); if ( !this.isInUse() && !(this instanceof EntryPointNode) ) { builder.getIdGenerator().releaseId( this.getId() ); } }