private ShapeStyle findVertexStyle(GeometryIndex index) {
    if (editingService.getIndexStateService().isMarkedForDeletion(index)) {
      return styleService.getVertexMarkForDeletionStyle();
    } else if (!editingService.getIndexStateService().isEnabled(index)) {
      return styleService.getVertexDisabledStyle();
    } else if (editingService.getIndexStateService().isSnapped(index)) {
      return styleService.getVertexSnappedStyle();
    }

    boolean selected = editingService.getIndexStateService().isSelected(index);
    boolean highlighted = editingService.getIndexStateService().isHightlighted(index);
    if (selected && highlighted) {
      return styleService.getVertexSelectHoverStyle();
    } else if (selected) {
      return styleService.getVertexSelectStyle();
    } else if (highlighted) {
      return styleService.getVertexHoverStyle();
    }
    return styleService.getVertexStyle();
  }