/**
   * alternativeKeyHandler handles the KeyEvents, if the GraphicalViewerKeyHandler is active for
   * auto-layout
   */
  public FeatureDiagramEditorKeyHandler(FeatureDiagramEditor view, FeatureModel featureModel) {
    super();

    this.featureModel = featureModel;
    this.viewer = view;

    this.alternativeKeyHandler = new KeyHandler();
    this.gvKeyHandler = new GraphicalViewerKeyHandler(view);
    this.gvKeyHandler.setParent(alternativeKeyHandler);
    this.setParent(gvKeyHandler);
    this.lastTime = 0;

    resetFeatureList();
    featureModel.addListener(this);
  }