public Throwable getRootCause() {
    if (getCause() == null) {
      return null;
    }
    Throwable root = getCause();
    while (root.getCause() != null) {
      root = root.getCause();
    }
    return root;
  }
Returns the root cause of this {@code GemFireException} or {@code null} if the cause is
nonexistent or unknown.

@return The root cause of this {@code GemFireException} or {@code null} if the cause is
        nonexistent or unknown
geode-core/src/main/java/org/apache/geode/GemFireException.java