code: public void addCell(Cell aCell, Point aLocation) throws BadElementException {
          if (aCell == null) throw new NullPointerException("addCell - cell has null-value");
          if (aLocation == null) throw new NullPointerException("addCell - point has null-value");
          if (aCell.isTable()) insertTable((Table)aCell.getElements().next(), aLocation);
          
          if (aLocation.x < 0) throw new BadElementException("row coordinate of location must be >= 0");
          if ((aLocation.y <= 0) && (aLocation.y > columns)) throw new BadElementException("column coordinate of location must be >= 0 and < nr of columns");
          if (!isValidLocation(aCell, aLocation)) throw new BadElementException("Adding a cell at the location (" + aLocation.x + "," + aLocation.y + ") with a colspan of " + aCell.getColspan() + " and a rowspan of " + aCell.getRowspan() + " is illegal (beyond boundaries/overlapping).");
          
          if (aCell.getBorder() == UNDEFINED) aCell.setBorder(defaultCell.getBorder());
          aCell.fill();
          placeCell(rows, aCell, aLocation);
          setCurrentLocationToNextValidPosition(aLocation);
      }
docs: Adds a <CODE>Cell</CODE> to the <CODE>Table</CODE> at a certain location.
  
  @param       aCell        The <CODE>Cell</CODE> to add
  @param       aLocation    The location where the <CODE>Cell</CODE> will be added
  @throws BadElementException