private boolean scroll(final Item item, Item destination) {
		if (!ctx.bank.opened()) {
			return false;
		}

		final Component bankContainer = ctx.widgets.component(Constants.BANK_WIDGET, Constants.BANK_ITEMS);

		int tries = 0;
		while (tries < 100) {
			if (!ctx.bank.opened()) {
				return false;
			}
			if (!bankContainer.viewportRect().contains(destination.component().viewportRect())) {
				if (!bankContainer.viewportRect().contains(ctx.input.getLocation())) {
					bankContainer.hover();
				}
				ctx.input.scroll(destination.component().relativePoint().y > item.component().relativePoint().y);
				ctx.sleep(100);
			} else {
				break;
			}
			tries++;
		}

		return bankContainer.viewportRect().contains(destination.component().viewportRect());
	}