/**
   * layoutCombinedFragment
   *
   * @param fragmentNodeList void
   */
  private void layoutCombinedFragment(List<NotationNode> fragmentNodeList) {
    if (fragmentNodeList.size() <= 0) {
      return;
    }

    NotationNode fragmentNode;

    for (int i = 0; i < fragmentNodeList.size(); i++) {
      fragmentNode = fragmentNodeList.get(i);
      if (isMoveFragment(fragmentNode)) {
        fragmentNode.setX(fragmentNode.getX() + (newX - oldX));
      } else if (isResizeFragment(fragmentNode)) {
        fragmentNode.setWidth(fragmentNode.getWidth() + (newX - oldX));
        if (fragmentNode.getCompartmentList().size() > 0) {
          List<NotationNode> list = new ArrayList<NotationNode>();
          for (AbstractNode abstractNode : fragmentNode.getCompartmentList()) {
            ContainerNode operandNode = (ContainerNode) abstractNode;
            List<NotationNode> combindFragmentNodeList =
                SequenceUtil.getOnlyCombindFragmentNodeList(operandNode.getNodeList());
            list.addAll(combindFragmentNodeList);
          }
          layoutCombinedFragment(list);
        }
      }
    }
  }
  /** Move 되는 위치에 따라서 다이어그램 내의 다른 LifeLine의 위치를 조정한다. void */
  private void setLifeLineLayout() {

    LifeLineNode lifeLineNode;
    LifeLineNode otherLifeLineNode;

    for (int i = 0; i < lifeLineNodeList.size(); i++) {
      lifeLineNode = (LifeLineNode) lifeLineNodeList.get(i);
      if (node.equals(lifeLineNode)) {
        for (int k = i + 1; k < lifeLineNodeList.size(); k++) {
          otherLifeLineNode = (LifeLineNode) lifeLineNodeList.get(k);
          otherLifeLineNode.setX(otherLifeLineNode.getX() + (newX - oldX));
        }
        break;
      }
    }

    layoutCombinedFragment(SequenceUtil.getOnlyCombindFragmentNodeList(diagram.getNodeList()));
  }