private void processActiveConnectionList()
    {
    	LogicalConnection logicalConnection = null;
    	ProcessResult result = null;
    	
    	Iterator<LogicalConnection> it = activeConnectionList.iterator();
    	while (it.hasNext())
    	{
        	logicalConnection = it.next();
        	result = processConnection(logicalConnection);

            if(result == ProcessResult.DeleteItem)
            {
            	it.remove();
                this.nConnectionCount = this.nConnectionCount - 1;
            }
            else if (result == ProcessResult.PauseProcessing)
            {
                inactiveConnectionList.add(logicalConnection);
            	it.remove();
                lastInactiveListCheckTime = System.currentTimeMillis();
            }
            else if (result == ProcessResult.ContinueProcessing)
            {
            	// nothing will be done.
            }

            // Reach to the end, check and merge
            // and do again until all the active connection 
            // have been processed
            if (!it.hasNext())
            {
                checkMergeNewAddedConnectionList();
                checkMergeInactiveConnectionList();
                it = activeConnectionList.iterator();
            }
    	}
    }