public byte GetByteSafe(int columnIndex) { if (ReaderCache[columnIndex] is ByteReaderCacheContainer) { return GetByte(columnIndex); } else { return Convert.ToByte(GetValue(columnIndex)); } }