public void returnBackConsole(String testIdentifier, SingleConsole console) {
		if (console == null || console instanceof NullSingleConsole) {
			LOG.error("Attempt to return back null console for {}.", testIdentifier);
			return;
		}
		try {
			console.sendStopMessageToAgents();
		} catch (Exception e) {
			LOG.error("Exception occurred during console return back for test {}.",
					testIdentifier, e);
			// But the port is getting back.
		} finally {
			// This is very careful implementation..
			try {
				// Wait console is completely shutdown...
				console.waitUntilAllAgentDisconnected();
			} catch (Exception e) {
				LOG.error("Exception occurred during console return back for test {}.",
						testIdentifier, e);
				// If it's not disconnected still, stop them by force.
				agentManager.stopAgent(console.getConsolePort());
			}
			try {
				console.shutdown();
			} catch (Exception e) {
				LOG.error("Exception occurred during console return back for test {}.",
						testIdentifier, e);
			}
			int consolePort;
			String consoleIP;
			try {
				consolePort = console.getConsolePort();
				consoleIP = console.getConsoleIP();
				ConsoleEntry consoleEntry = new ConsoleEntry(consoleIP, consolePort);
				synchronized (this) {
					if (!consoleQueue.contains(consoleEntry)) {
						consoleEntry.occupySocket();
						consoleQueue.add(consoleEntry);
						if (!getConsoleInUse().contains(console)) {
							LOG.error("Try to return back the not used console on {} port", consolePort);
						}
						getConsoleInUse().remove(console);
					}
				}
			} catch (Exception e) {
				noOp();
			}
		}
	}
Return back the given console.
<p/>
Duplicated returns is allowed.

@param testIdentifier test identifier
@param console        console which will be returned back.
ngrinder-controller/src/main/java/org/ngrinder/perftest/service/ConsoleManager.java