private string GetParentId(IFileSystemInfo fileInfo, IMetaDataStorage storage) { IDirectoryInfo parent = null; if (fileInfo is IDirectoryInfo) { IDirectoryInfo localDirInfo = fileInfo as IDirectoryInfo; parent = localDirInfo.Parent; } else { IFileInfo localFileInfo = fileInfo as IFileInfo; parent = localFileInfo.Directory; } try { Guid uuid; if (Guid.TryParse(parent.GetExtendedAttribute(MappedObject.ExtendedAttributeKey), out uuid)) { return(storage.GetObjectByGuid(uuid).RemoteObjectId); } } catch (IOException) { } IMappedObject mappedParent = storage.GetObjectByLocalPath(parent); return(mappedParent.RemoteObjectId); }