import org.eclipse.gef.fx.nodes.InfiniteCanvas;
import org.eclipse.gef.geometry.convert.fx.Geometry2FX;
import org.eclipse.gef.geometry.planar.Point;
import org.eclipse.gef.geometry.planar.Rectangle;
import org.eclipse.gef.mvc.fx.operations.ChangeViewportOperation;
<BUG>import org.eclipse.gef.mvc.fx.operations.ITransactionalOperation;
import org.eclipse.swt.widgets.Event;</BUG>
import javafx.geometry.Bounds;
import javafx.scene.Parent;
public abstract class AbstractScrollAction extends AbstractViewerAction {

import org.eclipse.gef.fx.nodes.InfiniteCanvas;
import org.eclipse.gef.geometry.convert.fx.Geometry2FX;
import org.eclipse.gef.geometry.planar.Point;
import org.eclipse.gef.geometry.planar.Rectangle;
import org.eclipse.gef.mvc.fx.operations.ChangeViewportOperation;
import org.eclipse.gef.mvc.fx.operations.ITransactionalOperation;
import org.eclipse.jface.action.IAction;
import org.eclipse.jface.resource.ImageDescriptor;
import org.eclipse.swt.widgets.Event;
import javafx.geometry.Bounds;
import javafx.scene.Parent;
public abstract class AbstractScrollAction extends AbstractViewerAction {
