public PatternMatcherRootContent(RootContent parent, PatternMatcherRootContentKey key) { super(parent); this.children = new ContentChildren<PatternMatcherContent>(); this.taintListener = new ContentEngineTaintListener(); this.mapping = Maps.newHashMap(); this.key = key; AdvancedIncQueryEngine engine = key.getEngine(); if (engine == null) { key.setEngine(createEngine()); } if (engine != null) { engine.addLifecycleListener(taintListener); } }