code: protected void processActions(Element element, PdfAction action, ArrayList allActions) {
          if (element.type() == Element.ANCHOR) {
              String url = ((Anchor) element).getReference();
              if (url != null) {
                  action = new PdfAction(url);
              }
          }
          Iterator i;
          switch (element.type()) {
              case Element.PHRASE:
              case Element.SECTION:
              case Element.ANCHOR:
              case Element.CHAPTER:
              case Element.LISTITEM:
              case Element.PARAGRAPH:
                  for (i = ((ArrayList) element).iterator(); i.hasNext();) {
                      processActions((Element) i.next(), action, allActions);
                  }
                  break;
              case Element.CHUNK:
                  allActions.add(action);
                  break;
              case Element.LIST:
                  for (i = ((List) element).getItems().iterator(); i.hasNext();) {
                      processActions((Element) i.next(), action, allActions);
                  }
                  break;
              default:
                  int n = element.getChunks().size();
                  while (n-- > 0)
                      allActions.add(action);
                  break;
          }
      }
docs: Processes all actions contained in the cell.
  @param element	an element in the cell
  @param action	an action that should be coupled to the cell
  @param allActions