public static function &_getRandomDbResource ($group)
	{
		
		$obj	= FALSE;
		
		while (Sonic::countResourceGroup ($group) > 0)
		{

			$name	= Sonic::selectRandomResource ($group);
			$obj	=& Sonic::getResource (array ($group, $name));
			
			// If a PDO object

			if ($obj instanceof \PDO)
			{

				// Attempt to connect to the resource
				// This will throw an exception if it fails or break the loop if it succeeds

				if ($obj instanceof Resource\Db)
				{
					try
					{
						
						$obj->Connect ();
						
						// Set as default group object for persistence
						
						Sonic::setSelectedResource ($group, $name);
						
						break;
						
					}
					catch (\PDOException $e)
					{
						// Do nothing
					}
				}

				// Else not a framework database objects so break the loop to use it

				else
				{
					break;
				}

			}

			// Remove resource from the framework as its not valid
			// then continue to the next object

			Sonic::removeResource ($group, $name);
			$obj = FALSE;

		}
		
		return $obj;
		
	}