code: private IContext buildCLabs(IContext context) throws ContextPreprocessorException {
          int counter = 0;
          int total = context.getRoot().getDescendantCount() + 1;
          int reportInt = (total / 20) + 1;//i.e. report every 5%
  
          for (Iterator<INode> i = context.getNodes(); i.hasNext(); ) {
              processNode(i.next());
  
              counter++;
              if ((SMatchConstants.LARGE_TREE < total) && (0 == (counter % reportInt)) && log.isEnabledFor(Level.INFO)) {
                  log.info(100 * counter / total + "%");
              }
          }
  
          return context;
      }
docs: Constructs cLabs for all nodes of the context.
  
  @param context context of node which cLab to be build
  @return context with cLabs
  @throws ContextPreprocessorException ContextPreprocessorException