DragSource.this.drag();
DragSource.this.drag(event);
public DragSource(Control control, int style) {	super(control, checkStyle(style));	this.control = control;	if (control.getData(DRAGSOURCEID) != null) {		DND.error(DND.ERROR_CANNOT_INIT_DRAG);	}	control.setData(DRAGSOURCEID, this);	createCOMInterfaces();	this.AddRef();	controlListener = new Listener() {		public void handleEvent(Event event) {			if (event.type == SWT.Dispose) {				if (!DragSource.this.isDisposed()) {					DragSource.this.dispose();				}			}			if (event.type == SWT.DragDetect) {				if (!DragSource.this.isDisposed()) {					DragSource.this.drag();				}			}		}	};	control.addListener(SWT.Dispose, controlListener);	control.addListener(SWT.DragDetect, controlListener);		this.addListener(SWT.Dispose, new Listener() {		public void handleEvent(Event e) {			DragSource.this.onDispose();		}	});}