@Override
  public void addStopItem(IRteComponentItem item, EEvaluationResult result) {
    if (fStopItems == null) fStopItems = new LinkedHashMap<IRteComponentItem, IRteDependencyItem>();

    fStopItems.put(item, new RteDependencyItem(item, result));
    if (fResult.ordinal() < result.ordinal()) fResult = result;
  }
 /** Removes dependencies that are greater than overall result since they are irrelevant */
 private void purgeDependencies() {
   int thisOrdinal = getEvaluationResult().ordinal();
   for (Iterator<IRteDependency> iterator = fDependencies.iterator(); iterator.hasNext(); ) {
     IRteDependency d = iterator.next();
     EEvaluationResult r = d.getEvaluationResult();
     if (r.ordinal() > thisOrdinal) {
       iterator.remove();
       cachedChildArray = null;
     }
   }
 }
 @Override
 public void addComponent(IRteComponent component, EEvaluationResult result) {
   IRteDependencyItem de = new RteDependencyItem(component, result);
   fComponentEntries.put(component, de);
   if (fResult.ordinal() < result.ordinal()) fResult = result;
 }