text: public SupBookRecord(RecordInputStream in) {int recLen = in.remaining();field_1_number_of_sheets = in.readShort();if(recLen > SMALL_RECORD_SIZE) {_isAddInFunctions = false;field_2_encoded_url = in.readString();String[] sheetNames = new String[field_1_number_of_sheets];for (int i = 0; i < sheetNames.length; i++) {sheetNames[i] = in.readString();}field_3_sheet_names = sheetNames;return;}field_2_encoded_url = null;field_3_sheet_names = null;short nextShort = in.readShort();if(nextShort == TAG_INTERNAL_REFERENCES) {_isAddInFunctions = false;} else if(nextShort == TAG_ADD_IN_FUNCTIONS) {_isAddInFunctions = true;if(field_1_number_of_sheets != 1) {throw new RuntimeException("Expected 0x0001 for number of sheets field in 'Add-In Functions' but got ("+ field_1_number_of_sheets + ")");}} else {throw new RuntimeException("invalid EXTERNALBOOK code ("+ Integer.toHexString(nextShort) + ")");}}