code: public ManagementGroupVertex getInputGroupVertex(int index) {
  
  		final Iterator<ManagementGroupVertex> it = this.groupVertices.iterator();
  		while (it.hasNext()) {
  
  			final ManagementGroupVertex groupVertex = it.next();
  			if (groupVertex.isInputVertex()) {
  				if (index == 0) {
  					return groupVertex;
  				} else {
  					--index;
  				}
  			}
  		}
  
  		return null;
  	}
docs: Returns the input group vertex in this stage with the given index. Input group vertices are those vertices which
  have incoming edges from group vertices of a lower stage.
  
  @param index
  the index of the input group vertex to return
  @return the input group vertex with the given index or <code>null</code> if no such vertex exists