Is this more than an optimization? Is calling directory.copy() bad enough that it should throw?