code: public Iterator<DependencyRelation> iterator() {
          // Wrap the nodes returned by the existing path and the extended
          // relation into a combined iterator.
          //
          // NB: The type inferencer has problems equating the return type of
          // Collections.singleton().iterator() with the desired type, so we need
          // the suppress warnings to make the compile clean.
          @SuppressWarnings("unchecked")
              Iterator<DependencyRelation> it = 
              new CombinedIterator<DependencyRelation>(original.iterator(), 
              Collections.<DependencyRelation>singleton(extension).iterator());
          return it;
      }
docs: {@inheritDoc}