Buggy code:
public class NetCursor extends Cursor { NetResultSet netResultSet_ ; NetAgent netAgent_ ; Typdef qrydscTypdef_ ; int targetSqlamForTypdef_ ; int numMddOverrides_ ; int maximumRowSize_ ; boolean blocking_ ; int [ ] typeToUseForComputingDataLength_ ; boolean [ ] isGraphic_ ; HashMap extdtaPositions_ ; ArrayList extdtaData_ ; boolean rtnextrow_ = true ; private boolean qryclsimpEnabled_ ; NetCursor ( NetAgent netAgent ) { } NetCursor ( NetAgent netAgent , int qryprctyp ) { } protected boolean calculateColumnOffsetsForRow_ ( int rowIndex , boolean allowServerFetch ) throws DisconnectException , SqlException { } void scanDataBufferForEndOfData ( ) throws SqlException { } protected boolean isDataBufferNull ( ) { } protected void allocateDataBuffer ( ) { } protected void allocateDataBuffer ( int length ) { } private int readFdocaInt ( ) throws DisconnectException , SqlException { } private int readFdocaOneByte ( ) throws DisconnectException , SqlException { } private int readFdocaOneByte ( int index ) throws DisconnectException , SqlException { } private byte [ ] readFdocaBytes ( int length ) throws DisconnectException , SqlException { } private int readFdocaTwoByteLength ( ) throws DisconnectException , SqlException { } private int readFdocaTwoByteLength ( int index ) throws DisconnectException , SqlException { } private int skipFdocaBytes ( int length ) throws DisconnectException , SqlException { } private int skipFdocaBytes ( int length , int index ) throws DisconnectException , SqlException { } private void shiftPartialRowToBeginning ( ) { } private void adjustColumnOffsetsForColumnsPreviouslyCalculated ( int index ) { } private void resetCurrentRowPosition ( ) { } void calculateLobColumnPositionsForRow ( ) { } boolean isNonTrivialDataLob ( int index ) { } protected void clearLobData_ ( ) { } NetSqlca parseSQLCARD ( Typdef typdef ) throws DisconnectException , SqlException { } private NetSqlca parseSQLCAGRP ( Typdef typdef ) throws DisconnectException , SqlException { if ( ( readFdocaOneByte ( ) ) == ( CodePoint . NULLDATA ) ) { return null ; } int sqlcode = readFdocaInt ( ) ; byte [ ] sqlstate = readFdocaBytes ( 5 ) ; byte [ ] sqlerrproc = readFdocaBytes ( 8 ) ; <START_BUG> NetSqlca netSqlca = new NetSqlca ( netAgent_ . netConnection_ , sqlcode , sqlstate , sqlerrproc , typdef . getCcsidSbc ( ) ) ; <END_BUG> parseSQLCAXGRP ( typdef , netSqlca ) ; parseSQLDIAGGRP ( ) ; return netSqlca ; } private void parseSQLCAXGRP ( Typdef typdef , NetSqlca netSqlca ) throws DisconnectException , SqlException { } private void parseSQLDIAGGRP ( ) throws DisconnectException , SqlException { } private String parseVCS ( Typdef typdefInEffect ) throws DisconnectException , SqlException { } private String readFdocaString ( int length , String encoding ) throws DisconnectException , SqlException { } void allocateColumnOffsetAndLengthArrays ( ) { } void setBlocking ( int queryProtocolType ) { } protected byte [ ] findExtdtaData ( int column ) { } public Blob getBlobColumn_ ( int column , Agent agent ) throws SqlException { } public Clob getClobColumn_ ( int column , Agent agent ) throws SqlException { } public byte [ ] getClobBytes_ ( int column , int [ ] dataOffset ) throws SqlException { } void initializeColumnInfoArrays ( Typdef typdef , int columnCount , int targetSqlamForTypdef ) throws DisconnectException { } int ensureSpaceForDataBuffer ( int ddmLength ) { } protected void getMoreData_ ( ) throws SqlException { } public void nullDataForGC ( ) { } private void checkAndThrowReceivedEndqryrm ( ) throws SqlException { } private void checkAndThrowReceivedEndqryrm ( int lastValidBytePositionBeforeFetch ) throws SqlException { } private int completeSplitRow ( ) throws DisconnectException , SqlException { } private int completeSplitRow ( int index ) throws DisconnectException , SqlException { } private int [ ] allocateColumnDataPositionArray ( int row ) { } private int [ ] allocateColumnDataComputedLengthArray ( int row ) { } private boolean [ ] allocateColumnDataIsNullArray ( int row ) { } protected int getDecimalLength ( int index ) { } public final void setAllRowsReceivedFromServer ( boolean b ) { } final void setQryclsimpEnabled ( boolean flag ) { } final boolean getQryclsimpEnabled ( ) { } }

Fix:
NetSqlca netSqlca = new NetSqlca ( netAgent_ . netConnection_ , sqlcode , sqlstate , sqlerrproc ) ;