code: public static String nativeCall(final String... commands) {
          LOG.info("Running '{}'", Arrays.asList(commands));
          final ProcessBuilder pb = new ProcessBuilder(commands);
          try {
              final Process process = pb.start();
              final InputStream is = process.getInputStream();
              final String data = IOUtils.toString(is);
              LOG.info("Completed native call: '{}'\nResponse: '"+data+"'", 
                  Arrays.asList(commands));
              /*
              final int ev = process.exitValue();
              if (ev != 0) {
                  final String msg = "Process not completed normally! " + 
                      Arrays.asList(commands)+" Exited with: "+ev;
                  System.err.println(msg);
                  LOG.error(msg);
              } else {
                  LOG.info("Process completed normally!");
              }
              */
              return data;
          } catch (final IOException e) {
              LOG.error("Error running commands: " + Arrays.asList(commands), e);
              return "";
          }
      }
docs: Makes a native call with the specified commands, returning the result.
  
  @param commands The commands separated into individual arguments.
  @return Any return values from the command.