code: public PdfPCell createCell(Object data, Collection<? extends BaseStyler> stylers) throws VectorPrintException {
        DebuggablePdfPCell cell;
  
        /*
         * only when creating an instance of PdfPCell with its content (Phrase/Image/Chunk) in the constructor
         * alignment will work!
         */
        if (null != data) {
           if (data instanceof Phrase) {
              cell = new DebuggablePdfPCell((Phrase) data);
           } else if (data instanceof Chunk) {
              cell = new DebuggablePdfPCell(new Phrase((Chunk) data));
           } else if (data instanceof Image) {
              cell = new DebuggablePdfPCell((Image) data);
           } else if (data instanceof Element) {
              if (data instanceof PdfPTable) {
                 cell = new DebuggablePdfPCell((PdfPTable) data);
              } else {
                 throw new VectorPrintException(String.format("%s not supported for a cell", data.getClass().getName()));
              }
           } else {
  
              cell = new DebuggablePdfPCell(createPhrase(data, stylers));
           }
        } else {
  
           cell = new DebuggablePdfPCell();
        }
  
        StylerFactoryHelper.SETTINGS_ANNOTATION_PROCESSOR.initSettings(cell, settings);
  
        return styleHelper.style(cell, data, stylers);
     }
docs: Creates and styles a cell with data in it. If the data is an instance of Element it is added as is to the cell,
  otherwise a {@link #createPhrase(java.lang.Object, java.util.Collection) phrase} is created from the data.
  
  @param data
  @param stylers
  @return
  @throws VectorPrintException