amountToSend = attemptedAmount = Math.min(order.getValue2(), 5000);
for(Pair<TileEntity, ForgeDirection> pair:getAdjacentTanks(false)) {
if(amountToSend <= 0) break;
boolean fallback = true;
if(SimpleServiceLocator.specialTankHandler.hasHandlerFor(pair.getValue1())) {
ISpecialTankHandler handler = SimpleServiceLocator.specialTankHandler.getTankHandlerFor(pair.getValue1());
if(handler instanceof ISpecialTankAccessHandler) {
fallback = false;
FluidStack drained = ((ISpecialTankAccessHandler)handler).drainFrom(pair.getValue1(), order.getValue1(), amountToSend, false);
if(drained != null && order.getValue1().equals(FluidIdentifier.get(drained))) {
drained = ((ISpecialTankAccessHandler)handler).drainFrom(pair.getValue1(), order.getValue1(), amountToSend, true);