BindButtonEvent newEvent = (BindButtonEvent) createNewBindEvent(originalEvent); newEvent.prepare(originalEvent.getId(), originalEvent.getState(), originalEvent.getDelta()); inputEventSetup(newEvent, originalEvent); return newEvent; } else if (toBeCopied instanceof KeyEvent) { KeyEvent originalEvent = (KeyEvent) toBeCopied; KeyEvent newEvent = createNewKeyEvent(originalEvent); inputEventSetup(newEvent, originalEvent); return newEvent; } else if (toBeCopied instanceof BindAxisEvent) { BindAxisEvent newEvent = (BindAxisEvent) createNewBindEvent(originalEvent); newEvent.prepare(originalEvent.getId(), originalEvent.getValue(), originalEvent.getDelta()); inputEventSetup(newEvent, originalEvent); return newEvent; } else if (toBeCopied instanceof MouseAxisEvent) { MouseAxisEvent originalEvent = (MouseAxisEvent) toBeCopied; MouseAxisEvent newEvent = createNewMouseAxisEvent(originalEvent); inputEventSetup(newEvent, originalEvent); return newEvent; } else if (toBeCopied instanceof CameraTargetChangedEvent) { MouseButtonEvent newEvent = new MouseButtonEvent(originalEvent.getButton(), originalEvent.getState(), originalEvent.getDelta()); newEvent.setMousePosition(originalEvent.getMousePosition()); inputEventSetup(newEvent, originalEvent); return newEvent; } else if (toBeCopied instanceof MouseWheelEvent) { MouseWheelEvent originalEvent = (MouseWheelEvent) toBeCopied; MouseWheelEvent newEvent = new MouseWheelEvent(originalEvent.getMousePosition(), originalEvent.getWheelTurns(), originalEvent.getDelta());