private void storeTypeLink(String itemName, String filename, String usedByName, String usedByType) {
        boolean bFound = false;
        ItemUsage itemUsage = new ItemUsage();

        if (!itemName.toUpperCase().trim().contains("<A HREF=")) //Does the item name contain a hyperlink? 
        {
            //No - We can't link to it then (so get out and don't store it) 
            return;
        }
        //Extract the item name form the hyperlink
        itemName = itemName.substring(itemName.indexOf("\">") + 2);
        itemName = itemName.substring(0, itemName.indexOf("<")).trim();

        //Do we have a name?
        if ((!itemName.trim().equals(""))
                && (!usedByName.trim().equals(""))) {
            //Yes - Build a Usage structure
            itemUsage.itemName = itemName;
            itemUsage.usedByName = usedByName;
            itemUsage.filename = filename;
            itemUsage.usedByType = usedByType;

            //We have our usage structure *but* we don't want repeated values (as it
            //would result in the 'Used By...' list containing duplicate entries). 
            //So...check to see if we already have an entry with the same data...
            for (int iCount = 0; iCount < alItemUsage.size(); iCount++) {
                ItemUsage itemUsageCheck = (ItemUsage) alItemUsage.toArray()[iCount];

                if ((filename.equals(itemUsageCheck.filename)) //If this item matches our new item... 
                        && (usedByName.equals(itemUsageCheck.usedByName))
                        && (usedByType.equals(itemUsageCheck.usedByType))
                        && (itemName.equals(itemUsageCheck.itemName))) {
                    bFound = true;
                    break;
                }
            }

            if (!bFound) //Did we already find a matching item?
            {
                alItemUsage.add(itemUsage);		//No - Add it to the list
            }
        }
    }