public void drag(int modifiers, Point start, Point end, int subDelayInMS) {
if (!getComponent().isShowing()) {
throw new RuntimeException("not showing");
}
swingWait();
new FireableMouseDragEvent(getComponent(), start, end).fire(modifiers, subDelayInMS);
swingWait();
}