public static String getMessageOrName(final Throwable t) {
        return (null == t.getMessage() || t.getMessage().isEmpty()) ?
                t.getClass().getName() : t.getMessage();
    }
A wrapper to Commons Lang {@code ExceptionUtils.getRootCause(Throwable)} which ensures that the root is either
an inner cause to the exception or the exception itself (rather than {@code null}).
gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/util/ExceptionHelper.java