public static String buildStringFromCommandArray(List<String> command) throws CommandExecutionException {
		logger.debug("CommandExecuter(): buildStringFromCommandArray(): Begin. Executing command from string array.");
		String line;
		int lineCount = 0;
		StringBuilder cmdOutput = new StringBuilder();
		ProcessBuilder pb = new ProcessBuilder(command);

		try {
			Process proc = pb.start();
			logger.debug("Executing command " + command.toString());
			BufferedReader stdOut = new BufferedReader(new InputStreamReader(
					proc.getInputStream()));
			logger.debug("Input Stream created");

			while ((line = stdOut.readLine()) != null) {
				cmdOutput.append(FormatUtils.reduceWhitespace(line) + "\n");
				
				if (command.toString().contains("sensors") && line.length() == 0) {
					cmdOutput.append(";");
				}
				
				lineCount++;
			}
			proc.waitFor();
			logger.debug("Waiting for process to complete.");

			stdOut.close();

		} catch (IOException iox) {
			logger.error(iox.getMessage());
			throw new CommandExecutionException("Could not establish error stream", iox);
		} catch (NoSuchElementException nsex) {
			logger.error(nsex.getMessage());
			throw new CommandExecutionException("Element not found.", nsex);
		} catch (InterruptedException iex) {
			logger.error(iex.getMessage());
			throw new CommandExecutionException("Process was interrupted.", iex);
		}
		logger.debug("Number of lines processed: " + lineCount);

		return cmdOutput.toString();
	}