private void initLocalOrdering(int[] charsLtoV,byte[] levels,int start,int limit){
  this.graphicCount=limit - start;
  if (charsLtoV == null || charsLtoV.length == graphicCount) {
    this.charsLtoV=charsLtoV;
  }
 else {
    this.charsLtoV=BidiUtils.createNormalizedMap(charsLtoV,levels,start,limit);
  }
  if (levels == null || levels.length == graphicCount) {
    this.levels=levels;
  }
 else {
    this.levels=new byte[graphicCount];
    System.arraycopy(levels,start,this.levels,0,graphicCount);
  }
}

private void initLocalOrdering ( int [ ] charsLtoV , byte [ ] levels , int start , int limit ) { this . graphicCount = limit - start ; if ( charsLtoV == null || charsLtoV . length == graphicCount ) { this . charsLtoV = charsLtoV ; } else { this . charsLtoV = BidiUtils . createNormalizedMap ( charsLtoV , levels , start , limit ) ; } if ( levels == null || levels . length == graphicCount ) { this . levels = levels ; } else { this . levels = new byte [ graphicCount ] ; System . arraycopy ( levels , start , this . levels , 0 , graphicCount ) ; } }
initialize graphiccount , also charsltov and levels arrays .
