protected void releaseBlock(OBlock block,int idx){
  _idxLastOrder=idx;
  firePropertyChange("blockRelease",null,block);
  for (int i=idx; i > -1; i--) {
    boolean dealloc=true;
    OBlock prevBlock=getBlockAt(i);
    for (int j=i + 1; j < _orders.size(); j++) {
      if (prevBlock.equals(getBlockAt(j))) {
        dealloc=false;
      }
    }
    if (dealloc) {
      prevBlock.setValue(null);
      prevBlock.deAllocate(this);
    }
  }
}

protected void releaseBlock ( OBlock block , int idx ) { _idxLastOrder = idx ; firePropertyChange ( "blockRelease" , null , block ) ; for ( int i = idx ; i > - 1 ; i -- ) { boolean dealloc = true ; OBlock prevBlock = getBlockAt ( i ) ; for ( int j = i + 1 ; j < _orders . size ( ) ; j ++ ) { if ( prevBlock . equals ( getBlockAt ( j ) ) ) { dealloc = false ; } } if ( dealloc ) { prevBlock . setValue ( null ) ; prevBlock . deAllocate ( this ) ; } } }
deallocates all blocks prior to and including block
