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) + ")");}}

public SupBookRecord(RecordInputStream in1){int recLen = in1.Remaining;field_1_number_of_sheets = in1.ReadShort();if (recLen > SMALL_RECORD_SIZE){_isAddInFunctions = false;field_2_encoded_url = in1.ReadString();String[] sheetNames = new String[field_1_number_of_sheets];for (int i = 0; i < sheetNames.Length; i++){sheetNames[i] = in1.ReadString();}field_3_sheet_names = sheetNames;return;}field_2_encoded_url = null;field_3_sheet_names = null;short nextShort = in1.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 Exception("Expected 0x0001 for number of sheets field in 'Add-In Functions' but got ("+ field_1_number_of_sheets + ")");}}else{throw new Exception("invalid EXTERNALBOOK code ("+ StringUtil.ToHexString(nextShort) + ")");}}
