public Type getType(String fullyQualifiedTypeName)
	{
		Type result = null;

		if (fullyQualifiedTypeName != null)
		{
			if (this._types.containsKey(fullyQualifiedTypeName))
			{
				result = this._types.get(fullyQualifiedTypeName);

				// make sure we tag this type with all browser types
				if (this._browser != null && this._browser.length() > 0)
				{
					result.addBrowser(this._browser, this._browserVersion);
				}
			}
			else
			{
				result = new Type(fullyQualifiedTypeName);

				if (this._browser != null && this._browser.length() > 0)
				{
					result.addBrowser(this._browser, this._browserVersion);
				}

				this._types.put(fullyQualifiedTypeName, result);
			}
		}
		else
		{
			System.out.println("Warning: requested type name was null");
		}
		
		// tag location where this type was referenced
		if (result != null && this._location != null)
		{
			result.addLocation(this._location);
		}

		return result;
	}