private void selectFQN(string fqn)
        {
            UML.UMLItem item = null;
            item = this.model.getItemFromFQN(fqn);

            if (item != null)
            {
                item.select();
            }
            else
            {
                string messageText;
                if (fqn.Length > 255)
                {
                    messageText = fqn.Substring(0, 255);
                }
                else
                {
                    messageText = fqn;
                }
                FQNInputForm fqnForm = new FQNInputForm("Could not find item with the string:"
                                                        + Environment.NewLine + messageText, "Fill in the Fully Qualified Name", "FQN:");
                if (fqnForm.ShowDialog() == DialogResult.OK &&
                    fqnForm.fqn.Length > 0)
                {
                    this.selectFQN(fqnForm.fqn);
                }
            }
        }
        /// <summary>
        /// select the element that matches the fqn in the clipboard
        /// </summary>
        private void selectFQN()
        {
            string fqn = string.Empty;

            if (Clipboard.ContainsText())
            {
                string clipboardText = Clipboard.GetText().Trim();
                if (this.looksLikeFQN(clipboardText))
                {
                    fqn = clipboardText;
                }
            }
            if (fqn == string.Empty)
            {
                FQNInputForm fqnForm = new FQNInputForm();
                if (fqnForm.ShowDialog() == DialogResult.OK)
                {
                    fqn = fqnForm.fqn;
                }
            }
            if (fqn != string.Empty)
            {
                this.selectFQN(fqn);
            }
        }
        /// <summary>
        /// selects the element with the GUID in on the clipboard.
        /// If the clipboard doesn't contain a GUID we will ask the user to input one.
        /// </summary>
        private void selectGUID()
        {
            string guidString = string.Empty;

            if (Clipboard.ContainsText())
            {
                string clipboardText = Clipboard.GetText().Trim();
                if (this.isGUIDString(clipboardText))
                {
                    guidString = clipboardText;
                }
            }
            if (guidString == string.Empty)
            {
                //TODO
                FQNInputForm fqnForm = new FQNInputForm("", "Fill in the GUID", "GUID:");
                if (fqnForm.ShowDialog() == DialogResult.OK)
                {
                    guidString = fqnForm.fqn;
                }
            }
            if (guidString != string.Empty)
            {
                this.selectGUID(guidString);
            }
        }
        /// <summary>
        /// selects the element with the given guid
        /// </summary>
        /// <param name="guidString">string containing a guid</param>
        private void selectGUID(string guidString)
        {
            UML.UMLItem item = null;
            item = this.model.getItemFromGUID(guidString);

            if (item != null)
            {
                item.select();
            }
            else
            {
                //TODO make GUID iso fqn
                FQNInputForm fqnForm = new FQNInputForm("Could not find item with the GUID:"
                                                        + Environment.NewLine + guidString, "Fill in the GUID", "GUID:");
                if (fqnForm.ShowDialog() == DialogResult.OK &&
                    fqnForm.fqn.Length > 0)
                {
                    this.selectGUID(fqnForm.fqn);
                }
            }
        }
	private void selectFQN(string fqn)
	{
		UML.UMLItem item = null;
		item = this.model.getItemFromFQN(fqn);
		
		if (item != null)
		{
			item.select();
		} 
		else
		{
			string messageText;
			if (fqn.Length > 255 )
			{
				messageText = fqn.Substring(0,255);
			}
			else
			{
				messageText = fqn;
			}
			FQNInputForm fqnForm = new FQNInputForm("Could not find item with the string:" 
			                + Environment.NewLine + messageText,"Fill in the Fully Qualified Name","FQN:");
			if (fqnForm.ShowDialog() == DialogResult.OK
			   && fqnForm.fqn.Length > 0)
			{
				this.selectFQN(fqnForm.fqn);
			}
		}
	}
    /// <summary>
    /// select the element that matches the fqn in the clipboard
    /// </summary>
	private void selectFQN()
	{
		string fqn = string.Empty;
		if(Clipboard.ContainsText())
		{
			string clipboardText = Clipboard.GetText().Trim();
			if (this.looksLikeFQN(clipboardText))
			{
				fqn = clipboardText;
			}
		}
		if (fqn == string.Empty)
		{
			FQNInputForm fqnForm = new FQNInputForm();
			if (fqnForm.ShowDialog() == DialogResult.OK)
			{
				fqn = fqnForm.fqn;
			}
		}
		if (fqn != string.Empty)
		{
			this.selectFQN(fqn);
		}
		
	}
    /// <summary>
    /// selects the element with the given guid
    /// </summary>
    /// <param name="guidString">string containing a guid</param>
    private void selectGUID(string guidString)
    {
    	UML.UMLItem item = null;
		item = this.model.getItemFromGUID(guidString);
		
		if (item != null)
		{
			item.select();
		} 
		else
		{
			//TODO make GUID iso fqn
			FQNInputForm fqnForm = new FQNInputForm("Could not find item with the GUID:" 
			                + Environment.NewLine + guidString,"Fill in the GUID","GUID:");
			if (fqnForm.ShowDialog() == DialogResult.OK
			   && fqnForm.fqn.Length > 0)
			{
				this.selectGUID(fqnForm.fqn);
			}
		}
    }
    /// <summary>
    /// selects the element with the GUID in on the clipboard.
    /// If the clipboard doesn't contain a GUID we will ask the user to input one.
    /// </summary>
    private void selectGUID()
    {
    	string guidString = string.Empty;
		if(Clipboard.ContainsText())
		{
			string clipboardText = Clipboard.GetText().Trim();
			if (this.isGUIDString(clipboardText))
			{
				guidString = clipboardText;
			}
		}
		if (guidString == string.Empty)
		{
			//TODO
			FQNInputForm fqnForm = new FQNInputForm("","Fill in the GUID","GUID:");
			if (fqnForm.ShowDialog() == DialogResult.OK)
			{
				guidString = fqnForm.fqn;
			}
		}
		if (guidString != string.Empty)
		{
			this.selectGUID(guidString);
		}
    }
        /// <summary>
        /// selects the element with the given guid
        /// </summary>
        /// <param name="guidString">string containing a guid</param>
        private void selectGUID(string guidString)
        {
            UML.Extended.UMLItem item = null;
            item = this.model.getItemFromGUID(guidString);

            if (item != null)
            {
            //select in EA
            item.select();
            //navigate in EA Navigator (often not needed but do it anyway)
            this.navigate(item);
            }
            else
            {
            //TODO make GUID iso fqn
            FQNInputForm fqnForm = new FQNInputForm("Could not find item with the GUID:"
                            + Environment.NewLine + guidString,"Fill in the GUID","GUID:");
            if (fqnForm.ShowDialog() == DialogResult.OK
               && fqnForm.fqn.Length > 0)
            {
                this.selectGUID(fqnForm.fqn);
            }
            }
        }