public ExternalBookBlock(RecordStream rs) {_externalBookRecord = (SupBookRecord) rs.getNext();List<Object> temp = new ArrayList<>();while (rs.peekNextClass() == ExternalNameRecord.class) {temp.add(rs.getNext());}_externalNameRecords = new ExternalNameRecord[temp.size()];temp.toArray(_externalNameRecords);temp.clear();while (rs.peekNextClass() == CRNCountRecord.class) {temp.add(new CRNBlock(rs));}_crnBlocks = new CRNBlock[temp.size()];temp.toArray(_crnBlocks);}

public ExternalBookBlock(RecordStream rs){_externalBookRecord = (SupBookRecord)rs.GetNext();ArrayList temp = new ArrayList();while (rs.PeekNextClass() == typeof(ExternalNameRecord)){temp.Add(rs.GetNext());}_externalNameRecords = (ExternalNameRecord[])temp.ToArray(typeof(ExternalNameRecord));temp.Clear();while (rs.PeekNextClass() == typeof(CRNCountRecord)){temp.Add(new CRNBlock(rs));}_crnBlocks = (CRNBlock[])temp.ToArray(typeof(CRNBlock));}
