code: @Override
    public void validate(byte[] blockBuffer, int rowOffset, int rowHead, int blobTail)
    {
      int offset = rowOffset + offset();
      
      int blobLen = BitsUtil.readInt16(blockBuffer, offset + 2);
      int blobOffset = BitsUtil.readInt16(blockBuffer, offset);
      
      if (blobLen == 0) {
        return;
      }
      
      if (blobOffset < 0 || blobTail < blobOffset) {
        throw new IllegalStateException(L.l("{0}: corrupted blob offset {1} with blobTail={2}",
                                            this, blobOffset, blobTail));
      }
      
      if ((blobLen & LARGE_BLOB_MASK) != 0) {
        blobLen &= ~LARGE_BLOB_MASK;
        
        if (blobLen != 4) {
          throw new IllegalStateException(L.l("{0}: corrupted blob len {1} for large blob.",
                                              this, blobOffset));
        }
      }
      
      
      if (blobLen < 0 || blobTail < blobLen + blobOffset) {
        throw new IllegalStateException(L.l("{0}: corrupted blob len {1} with blobOffset={2} blobTail={3}",
                                            this, blobLen, blobOffset, blobTail));
      }
    }
docs: Validates the column, checking for corruption.