code: public ObserverList<T> toObserverList ()
      {
          ObserverList<T> list = ObserverList.newSafeInOrder();
          while (!isEmpty()) {
              list.add(removeAvailableElement());
          }
          return list;
      }
docs: Flattens this graph into an observer list in dependencys order. Empties the graph in the
  process.