/**
   * get the starting node of the sequence in where the current node is sitting in
   *
   * @deprecated use getViewStartingNode
   * @param node
   * @param graph
   * @return
   */
  @Deprecated
  private Node getStartingNode(Node node, Graph2D graph) {

    if (_viewModel.getStartingViewNodeList().contains(node)) {
      return node;
    } else {
      NodeCursor pres = node.predecessors();
      Edge edge;
      Node currentNode = node;

      EdgeMap edgeMap = (EdgeMap) graph.getDataProvider(EdgeMapKeys.EDGE_INFO);
      Node preNode = currentNode;
      while (pres.ok()) {
        for (; pres.ok(); pres.next()) {
          edge = currentNode.getEdge(pres.node());

          EdgeType edgeType = ((SViewEdgeInfo) edgeMap.get(edge)).getType();
          if ((edgeType == EdgeType.REGULAR) || (edgeType == EdgeType.MODIFIED_P)) {
            currentNode = pres.node();
            break;
          }
        }
        if (currentNode != preNode) {
          pres = currentNode.predecessors();
          preNode = currentNode;
        } else {
          break;
        }
      }
      if (_viewModel.getStartingViewNodeList().contains(currentNode)) {
        return currentNode;
      } else {
        return null;
      }
    }
  }