code: public static <KT, KB, VVT, VVB, EV> BipartiteGraph<KT, KB, VVT, VVB, EV> fromDataSet(
  			DataSet<Vertex<KT, VVT>> topVertices,
  			DataSet<Vertex<KB, VVB>> bottomVertices,
  			DataSet<BipartiteEdge<KT, KB, EV>> edges,
  			ExecutionEnvironment context) {
  		return new BipartiteGraph<>(topVertices, bottomVertices, edges, context);
  	}
docs: Create bipartite graph from datasets.
  
  @param topVertices dataset of top vertices in the graph
  @param bottomVertices dataset of bottom vertices in the graph
  @param edges dataset of edges between vertices
  @param context Flink execution context
  @return new bipartite graph created from provided datasets