text: public virtual byte[] GetCachedBytes(int sizeLimit){if (!IsLarge()){return GetCachedBytes();}ObjectStream @in = OpenStream();try{long sz = @in.GetSize();if (sizeLimit < sz){throw new LargeObjectException.ExceedsLimit(sizeLimit, sz);}if (int.MaxValue < sz){throw new LargeObjectException.ExceedsByteArrayLimit();}byte[] buf;try{buf = new byte[(int)sz];}catch (OutOfMemoryException notEnoughHeap){throw new LargeObjectException.OutOfMemory(notEnoughHeap);}IOUtil.ReadFully(@in, buf, 0, buf.Length);return buf;}finally{@in.Close();}}