String message = stringOrNull(datum.get("message"));
int commonFramesCount = (Integer) datum.get("commonFramesCount");
@SuppressWarnings("unchecked") StackTraceElementProxy[] steArray =
StackTraceElementProxyArraySerializer.decode(
(GenericArray<GenericRecord>) datum.get("stackTraceElementProxyArray"));
IThrowableProxy cause = ThrowableProxySerializer.decode((GenericRecord) datum.get("cause"));
@SuppressWarnings("unchecked") IThrowableProxy[] suppressed = ThrowableProxyArraySerializer.decode(
(GenericArray<GenericRecord>) datum.get("suppressed"));
return new ThrowableProxyImpl(cause, className, commonFramesCount, message, steArray, suppressed);
}
return null;