copy on insert, to avoid using a pointer to an external object

the copy is avoided if there is already some of the same liquid in the tank.
Without this patch after a fill(dir,resource,true); the callee changing resource (eg resource.amount=10;) modifies the internal contents of the smeltery.