code: func isConcurrentAccessError(err error) bool {
  	// ConcurrentAccess comes from a task more than it usually does from a direct
  	// SOAP call, so we need to handle both here.
  	var f types.AnyType
  	var ok bool
  	f, ok = vimSoapFault(err)
  	if !ok {
  		f, ok = taskFault(err)
  	}
  	if ok {
  		switch f.(type) {
  		case types.ConcurrentAccess, *types.ConcurrentAccess:
  			return true
  		}
  	}
  	return false
  }
docs: // isConcurrentAccessError checks an error to see if it's of the
  // ConcurrentAccess type.