for (FluidTankInfo info : infos) {
if(info.fluid != null && info.fluid.amount > 0 && from.canDrain(fromDir, info.fluid.getFluid())) {
FluidStack maxDrain = new FluidStack(info.fluid.getFluid(), maxVolume);
FluidStack canDrain = from.drain(fromDir, maxDrain, false);
if(canDrain != null && canDrain.amount > 0) {
int filled = target.fill(fromDir.getOpposite(), canDrain, true);
from.drain(fromDir, new FluidStack(info.fluid.getFluid(), filled), true);
res |= true;
}
}
}