void splitZone(int index,int offs0,int offs1){
  Element elem=getElement();
  Document doc=elem.getDocument();
  Vector<View> zones=new Vector<View>();
  int offs=offs0;
  do {
    offs0=offs;
    offs=Math.min(getDesiredZoneEnd(offs0),offs1);
    zones.addElement(createZone(offs0,offs));
  }
 while (offs < offs1);
  View oldZone=getView(index);
  View[] newZones=new View[zones.size()];
  zones.copyInto(newZones);
  replace(index,1,newZones);
}

void splitZone ( int index , int offs0 , int offs1 ) { Element elem = getElement ( ) ; Document doc = elem . getDocument ( ) ; Vector < View > zones = new Vector < View > ( ) ; int offs = offs0 ; do { offs0 = offs ; offs = Math . min ( getDesiredZoneEnd ( offs0 ) , offs1 ) ; zones . addElement ( createZone ( offs0 , offs ) ) ; } while ( offs < offs1 ) ; View oldZone = getView ( index ) ; View [ ] newZones = new View [ zones . size ( ) ] ; zones . copyInto ( newZones ) ; replace ( index , 1 , newZones ) ; }
break up the zone at the given index into pieces of an acceptable size .
