@Override
 public int fill(ForgeDirection from, FluidStack resource, boolean doFill) {
   if (resource == null) return 0;
   TileEntityBottlingMachine master = master();
   if (master != null && canFill(from, resource.getFluid()))
     return master.fill(from, resource, doFill);
   int fill = tank.fill(resource, doFill);
   if (fill > 0) {
     markDirty();
     worldObj.markBlockForUpdate(xCoord, yCoord, zCoord);
   }
   return fill < 0 ? 0 : fill;
 }