code: protected void processCellAttributes(final ObjectMap<String, String> attributes,
              final ObjectSet<String> processedAttributes, final Table table, final Cell<?> cell) {
          final LmlSyntax syntax = getParser().getSyntax();
          for (final Entry<String, String> attribute : attributes) {
              if (processedAttributes.contains(attribute.key)) {
                  continue;
              }
              final LmlAttribute<?> cellAttribute = syntax.getAttributeProcessor(table, attribute.key);
              if (cellAttribute instanceof AbstractCellLmlAttribute) {
                  ((AbstractCellLmlAttribute) cellAttribute).process(getParser(), getParent(), table, cell,
                          attribute.value);
              } else {
                  if (!isInternalMacroAttribute(attribute.key)) {
                      getParser().throwErrorIfStrict(getTagName()
                              + " macro can process only cell attributes. Found unknown or invalid attribute: "
                              + attribute.key);
                  }
              }
          }
      }
docs: This is meant to handle cell attributes that will modify the extracted cell.
  
  @param attributes named attributes of the macro.
  @param processedAttributes already processed attributes. Should be ignored.
  @param table owner of the cell.
  @param cell cell of the row. Should have its defaults set.