The source and destination buffers could overlap which is why an intermediate buffer is required.
ignore_external_masters