code: func (m *DatastoreFileManager) Move(ctx context.Context, src string, dst string) error {
  	srcp := m.Path(src)
  	dstp := m.Path(dst)
  
  	f := m.FileManager.MoveDatastoreFile
  
  	if srcp.IsVMDK() {
  		f = m.VirtualDiskManager.MoveVirtualDisk
  	}
  
  	task, err := f(ctx, srcp.String(), m.Datacenter, dstp.String(), m.DatacenterTarget, m.Force)
  	if err != nil {
  		return err
  	}
  
  	return m.wait(ctx, task)
  }
docs: // Move dispatches to the appropriate FileManager or VirtualDiskManager Move method based on file name extension