/// <summary>
		/// Initializes a new instance of the PortAuthority class
		/// </summary>
		public PortAuthority()
		{
			_theInstance = this;
			_portmaps = new PortMapCollection();
			_portmaps.PortDescriptorChanged += new PortDescriptorEventHandler(this.OnPortDescriptorChanged);
		}		
		private void DisplayPortmaps(PortMapCollection portmaps)
		{
			if (portmaps != null)
			{
				TreeNode rootNode = _treeView.Nodes.Add("Port Maps");
				rootNode.ImageIndex = (int)ImageIndexes.Root;
				rootNode.SelectedImageIndex = (int)ImageIndexes.Root;

				foreach(PortMap portmap in portmaps)
				{
					TreeNode portmapNode = rootNode.Nodes.Add(portmap.Description);		
					portmapNode.ImageIndex = (int)ImageIndexes.PortMap;
					portmapNode.SelectedImageIndex = (int)ImageIndexes.PortMap;
					
					foreach(PortDescriptor descriptor in portmap.PortDescriptors)
					{
						TreeNode descriptorNode = portmapNode.Nodes.Add(descriptor.Description + " = " + descriptor.Port.ToString() + " (" + (descriptor.Offset >= 0 ? "+" : "-") + Math.Abs(descriptor.Offset).ToString() + ")");
						descriptorNode.ImageIndex = (int)ImageIndexes.PortDescriptor;
						descriptorNode.SelectedImageIndex = (int)ImageIndexes.PortDescriptor;
					}
				}
								
				rootNode.Expand();
			}
		}