public IRegionClientCapsService GetOrCreateCapsService (UUID regionID, string capsBase,
AgentCircuitData circuitData, uint port)
{
//If one already exists, don't add a new one
if (m_RegionCapsServices.ContainsKey (regionID))
{
if (port == 0 || m_RegionCapsServices [regionID].Server.Port == port)
{
m_RegionCapsServices [regionID].InformModulesOfRequest ();
return m_RegionCapsServices [regionID];
}
RemoveCAPS (regionID);
}
//Create a new one, and then call Get to find it
AddCapsServiceForRegion (regionID, capsBase, circuitData, port);
return GetCapsService (regionID);
}