/** 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 addDependency(IRteDependency dependency) {
   if (dependency == null) return;
   if (fDependencies.contains(dependency)) return;
   if (dependency.isResolved()) return;
   fDependencies.add(dependency);
 }