code: public List<T> getAll() {
  		List<T> result = new ArrayList<T>();
  		if (nodes != null)
  			for(Node element : nodes) 
  				result.add(getCachedOrNewRepresentation(element));
  		return result;
  	}
  	
  	public int size() {
  		return nodes.size();
  	}
  	
  	public T get(int index) {
  		return getCachedOrNewRepresentation(nodes.get(index));
  	}
  		
  	public Iterator<T> iterator() {
  		return getAll().iterator();
  	}
  }
docs: Returns a list with all representations of all elements.