--- old/src/java.sql.rowset/share/classes/javax/sql/rowset/RowSetWarning.java 2014-09-29 17:16:51.000000000 -0400 +++ new/src/java.sql.rowset/share/classes/javax/sql/rowset/RowSetWarning.java 2014-09-29 17:16:51.000000000 -0400 @@ -127,8 +127,16 @@ * null is returned (default value) * @see #setNextWarning */ - public RowSetWarning getNextWarning() { - return rwarning; + public RowSetWarning getNextWarning() { + try { + return ((RowSetWarning)getNextException()); + } catch (ClassCastException ex) { + // The chained value isn't a RowSetWarning. + // This is a programming error by whoever added it to + // the RowSetWarning chain. We throw a Java "Error". + throw new Error("RowSetWarning chain holds value that is not a RowSetWarning"); + } + } /** @@ -141,7 +149,7 @@ * @see #getNextWarning */ public void setNextWarning(RowSetWarning warning) { - rwarning = warning; + setNextException(warning); } static final long serialVersionUID = 6678332766434564774L;