public void SetZipEntry(ZLib.ZipEntry value)
		{
			this.zipEntry = value;
			
			if (this.zipEntry != null)
			{
				this.zipPath = this.zipEntry.Name;
			}
			else
			{
				this.zipPath = this.Address.AbsolutePath.Substring(1);
			}
		}
		void IZipNode.SetZipEntry(ZLib.ZipEntry value)
		{
			this.ZipEntry = value;

			if (value != null)
			{
				this.ZipPath = value.Name;
			}
			else
			{
				this.ZipPath = this.Address.AbsolutePath.Substring(1);
			}
		}
		public ZipFile(ZipFileSystem fileSystem, LayeredNodeAddress address, ZLib.ZipEntry zipEntry)
			: base(address, fileSystem)
		{
			((IZipNode)this).SetZipEntry(zipEntry);
		}
		internal virtual Stream GetInputStream(ZLib.ZipEntry zipEntry)
		{
			lock (this)
			{
				return new PrivateStreamWrapper(this.zipFile.GetInputStream(zipEntry));
			}
		}
		public ZipDirectory(ZipFileSystem fileSystem, LayeredNodeAddress address, ZLib.ZipEntry zipEntry)
			: base(fileSystem, address)
		{
			((IZipNode)(this)).SetZipEntry(zipEntry);
		}