private int computeEdgeParameters(DynamicGraph dynamicGraph, List<Date> sortedDates) {
		AttributeModel attributeModel = Lookup.getDefault().lookup(AttributeController.class).getModel();
        AttributeColumn overlapColumn = attributeModel.getEdgeTable().addColumn("overlapd", AttributeType.DYNAMIC_DOUBLE);
        int overlapColumnIndex = overlapColumn.getIndex();
        AttributeColumn embeddednessnColumn = attributeModel.getEdgeTable().addColumn("embeddednessd", AttributeType.DYNAMIC_INT);
        int embeddednessnColumnIndex = embeddednessnColumn.getIndex();
        
		double startDateLong = sortedDates.get(0).getTime();
		int previousCreated = 0;
		int theSame = 0;
		int rounds = 0;
		for (int i = 0; i < sortedDates.size(); i++) {
        	double endDateLong = Double.POSITIVE_INFINITY;
        	if (i + 1 < sortedDates.size()) {
        		endDateLong = sortedDates.get(i + 1).getTime();
        	}

			 Graph subGraph = dynamicGraph.getSnapshotGraph(startDateLong, endDateLong);
			 ClusteringCoefficient clusteringMetric = new ClusteringCoefficient();
			 OverlapMetric overlapMetric = new OverlapMetric();
			 overlapMetric.execute(subGraph.getGraphModel(), attributeModel);
			 clusteringMetric.execute(subGraph.getGraphModel(), attributeModel);
			
			 Iterator<Edge> iterator = subGraph.getEdges().iterator();
			
			 AttributeColumn neighborhoodOverlapColumn = attributeModel.getEdgeTable().getColumn("neighborhoodOverlap");
			 int neighborhoodOverlapColumnIndex = neighborhoodOverlapColumn.getIndex();
			 AttributeColumn embeddednessColumn = attributeModel.getEdgeTable().getColumn("embeddedness");
			 int embeddednessColumnIndex = embeddednessColumn.getIndex();
			 int j = 0;
			 Edge edg = null;
			 while (iterator.hasNext()) {
				 j++;
			     Edge edge = iterator.next();
			     if (edg == null) {
			    	 edg = edge;
			     }
			     Double overlapCoefficient = (Double) edge.getAttributes().getValue(neighborhoodOverlapColumnIndex);   
			     Integer embeddedness = (Integer) edge.getAttributes().getValue(embeddednessColumnIndex);
			     
			     DynamicDouble overlapCoefficientD = (DynamicDouble) edge.getAttributes().getValue(overlapColumnIndex);
			     if (overlapCoefficientD == null) {
			    	 overlapCoefficientD = new DynamicDouble(new Interval<Double>(startDateLong, endDateLong, overlapCoefficient));
			     } else {
			    	 overlapCoefficientD = new DynamicDouble(overlapCoefficientD, new Interval<Double>(startDateLong, endDateLong, overlapCoefficient));
			     }
			     edge.getAttributes().setValue(overlapColumnIndex, overlapCoefficientD);
			     DynamicInteger embeddednessD = (DynamicInteger) edge.getAttributes().getValue(embeddednessnColumnIndex);
			     if (embeddednessD == null) {
			    	 embeddednessD = new DynamicInteger(new Interval<Integer>(startDateLong, endDateLong, embeddedness));
			     } else {
			    	 embeddednessD = new DynamicInteger(embeddednessD, new Interval<Integer>(startDateLong, endDateLong, embeddedness));
			     }
			     edge.getAttributes().setValue(embeddednessnColumnIndex, embeddednessD);
			     if (edg.getEdgeData().getId().equals(edge.getEdgeData().getId())) {
			    	 System.out.println(overlapCoefficient + " created overlapCoefficientD " + embeddedness + " created embeddednessD");
			     }
			 }
			 rounds++;
			 System.out.println(j + " created edge");
			 if (j == previousCreated) {
				 theSame++;
				 if (theSame > 5) {
					 System.out.println("No new data, skipping");
					 return rounds;
				 }
			 } else {
				 theSame = 0;
			 }
			 previousCreated = j;
		}
		return rounds;
	}