private void initializePositions(int size) {
    double angle = 0;
    double total = dynView.getNetworkView().getModel().getNodeList().size();
    for (CyNode node : dynView.getNetworkView().getModel().getNodeList()) {
      dynView
          .getNetworkView()
          .getNodeView(node)
          .setVisualProperty(
              BasicVisualLexicon.NODE_X_LOCATION, (size / 2) * Math.cos(angle) + size / 2);
      dynView
          .getNetworkView()
          .getNodeView(node)
          .setVisualProperty(
              BasicVisualLexicon.NODE_Y_LOCATION, (size / 2) * Math.sin(angle) + size / 2);
      angle = angle + 2 * Math.PI / total;
    }

    for (DynInterval<T> i : layout.getIntervalsX()) {
      CyNode node = dynView.getNetwork().getNode(i);
      dynView
          .getNetworkView()
          .getNodeView(node)
          .setVisualProperty(BasicVisualLexicon.NODE_X_LOCATION, (Double) i.getOnValue());
    }

    for (DynInterval<T> i : layout.getIntervalsY()) {
      CyNode node = dynView.getNetwork().getNode(i);
      dynView
          .getNetworkView()
          .getNodeView(node)
          .setVisualProperty(BasicVisualLexicon.NODE_Y_LOCATION, (Double) i.getOnValue());
    }
  }
 @SuppressWarnings("unchecked")
 private void updateGraph(DynInterval<T> interval) {
   for (CyNode node : kklayout.getGraph().getNodes()) {
     layout.insertNodePositionX(
         node,
         (DynInterval<T>)
             new DynIntervalDouble(kklayout.getX(node), interval.getStart(), interval.getEnd()));
     layout.insertNodePositionY(
         node,
         (DynInterval<T>)
             new DynIntervalDouble(kklayout.getY(node), interval.getStart(), interval.getEnd()));
   }
 }