public void write(final byte b[],final int off,final int len) throws IOException {
  if (m_store == null) {
    throw new IllegalStateException(ERR_NO_STORE);
  }
  if (m_isSaved) {
    throw new IllegalStateException(ERR_ALREADY_SAVED);
  }
  if ((m_count + len) > m_blobThreshold) {
    for (int i=0; i < len; i++) {
      write(b[off + i]);
    }
  }
 else {
    System.arraycopy(b,off,m_buf,m_count,len);
    m_count+=len;
    m_bytesWritten+=len;
  }
}

public void write ( final byte b [ ] , final int off , final int len ) throws IOException { if ( m_store == null ) { throw new IllegalStateException ( ERR_NO_STORE ) ; } if ( m_isSaved ) { throw new IllegalStateException ( ERR_ALREADY_SAVED ) ; } if ( ( m_count + len ) > m_blobThreshold ) { for ( int i = 0 ; i < len ; i ++ ) { write ( b [ off + i ] ) ; } } else { System . arraycopy ( b , off , m_buf , m_count , len ) ; m_count += len ; m_bytesWritten += len ; } }
write byte array to the buffer we need to be able to efficiently handle large arrays beyond size of the blobthreshold , so
