@Override
  public void run() {
    try (BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream))) {
      while (character != -1) {
        readWhileReady(reader);
        if (shouldTerminate()) {
          break;
        }
      }
    } catch (IOException e) {
      if (logger.isDebugEnabled()) {
        logger.debug("Failure reading from buffered input stream: {}", e.getMessage(), e);
      }
    } catch (InterruptedException e) {
      if (logger.isDebugEnabled()) {
        logger.debug("Interrupted reading from buffered input stream: {}", e.getMessage(), e);
      }
    }
  }
millis to continue reading after Process terminates in order to fully read the last of its
output
geode-core/src/main/java/org/apache/geode/internal/process/NonBlockingProcessStreamReader.java