code: public static final <VertexKey extends Comparable<VertexKey>, VertexValue, Message>
  			VertexCentricIteration<VertexKey, VertexValue, Message, ?> withPlainEdges(
  					DataSet<Tuple2<VertexKey, VertexKey>> edgesWithoutValue,
  						VertexUpdateFunction<VertexKey, VertexValue, Message> vertexUpdateFunction,
  						MessagingFunction<VertexKey, VertexValue, Message, ?> messagingFunction,
  						int maximumNumberOfIterations)
  	{
  		@SuppressWarnings("unchecked")
  		MessagingFunction<VertexKey, VertexValue, Message, Object> tmf = 
  								(MessagingFunction<VertexKey, VertexValue, Message, Object>) messagingFunction;
  		
  		return new VertexCentricIteration<VertexKey, VertexValue, Message, Object>(vertexUpdateFunction, tmf, edgesWithoutValue, maximumNumberOfIterations);
  	}
docs: Creates a new vertex-centric iteration operator for graphs where the edges are not associated with a value.
  
  @param edgesWithoutValue The data set containing edges. Edges are represented as 2-tuples: (source-id, target-id)
  @param vertexUpdateFunction The function that updates the state of the vertices from the incoming messages.
  @param messagingFunction The function that turns changed vertex states into messages along the edges.
  
  @param <VertexKey> The type of the vertex key (the vertex identifier).
  @param <VertexValue> The type of the vertex value (the state of the vertex).
  @param <Message> The type of the message sent between vertices along the edges.
  
  @return An in stance of the vertex-centric graph computation operator.