int exitValue = executor.execute(cl);
// if the size is zero, we have no output, so construct the result
// with null (required by ExecResult)
InputStream stdout = out.size() == 0 ? null : new ByteArrayInputStream(out.toByteArray());
InputStream stderr = err.size() == 0 ? null : new ByteArrayInputStream(err.toByteArray());
ExecResult result = new ExecResult(command, stdout, stderr, exitValue);
return result;
} catch (ExecuteException ee) {
LOG.error("ExecException while executing command: " + command.toString() + " - " + ee.getMessage());
throw new ExecException("Failed to execute command " + command, ee);