public CellHandle[] getCells()
	{
		BiffRec[] cells = mysheet.getCells();
		CellHandle[] retval = new CellHandle[cells.length];
		Mulblank aMul = null;
		short c = -1;
		for( int i = 0; i < retval.length; i++ )
		{
			try
			{
				if( cells[i].getOpcode() != XLSConstants.MULBLANK )
				{
					retval[i] = getCell( cells[i].getRowNumber(), cells[i].getColNumber() );
				}
				else
				{ // Handle MULBLANKS proper column number
					if( cells[i].equals( aMul ) )
					{
						c++;
					}
					else
					{
						aMul = (Mulblank) cells[i];
						c = (short) aMul.getColFirst();
					}
					retval[i] = getCell( cells[i].getRowNumber(), c );
				}
			}
			catch( CellNotFoundException cnfe )
			{
				// try harder
				retval[i] = new CellHandle( cells[i], wbh );
				retval[i].setWorkSheetHandle( this );
				if( cells[i].getOpcode() == XLSConstants.MULBLANK )
				{
					// handle Mulblanks: ref a range of cells; to get correct cell address,
					// traverse thru range and set cellhandle ref to correct column
					if( cells[i].equals( aMul ) )
					{
						c++;
					}
					else
					{
						aMul = (Mulblank) cells[i];
						c = (short) aMul.getColFirst();
					}
					retval[i].setBlankRef( c );    // for Mulblank use only -sets correct column reference for multiple blank cells ...
				}
			}
		}
		return retval;
	}