code: @SuppressWarnings("unchecked")
  	public Iterable<OutgoingEdge<VertexKey, EdgeValue>> getOutgoingEdges() {
  		if (edgesUsed) {
  			throw new IllegalStateException("Can use either 'getOutgoingEdges()' or 'sendMessageToAllTargets()' exactly once.");
  		}
  		edgesUsed = true;
  		
  		if (this.edgeWithValueIter != null) {
  			this.edgeWithValueIter.set((Iterator<Tuple3<VertexKey, VertexKey, EdgeValue>>) edges);
  			return this.edgeWithValueIter;
  		} else {
  			this.edgeNoValueIter.set((Iterator<Tuple2<VertexKey, VertexKey>>) edges);
  			return this.edgeNoValueIter;
  		}
  	}
docs: Gets an {@link java.lang.Iterable} with all outgoing edges. This method is mutually exclusive with
  {@link #sendMessageToAllNeighbors(Object)} and may be called only once.
  
  @return An iterator with all outgoing edges.