use fastBulkCopy recursively for submorphs