int offset_y = y - current_location.getY();
action("Current position of element '" + current_location + "', Moving to (x, y) = (" + x + ", " + y + ")");
Actions drag = new Actions(browser.driver());
try {
drag.dragAndDropBy(_nativeWebElement(), offset_x, offset_y).build().perform();
Point new_location = getLocation();
action("New position of element '" + new_location + "', Moved to (x, y) = (" + x + ", " + y + ")");
} catch (org.openqa.selenium.interactions.MoveTargetOutOfBoundsException mtoobe) {
error("Cannot move element '" + current_location + "', to (x, y) = (" + x + ", " + y + "), got org.openqa.selenium.interactions.MoveTargetOutOfBoundsException");
}