code: protected void doProvideHighlightingFor(XtextResource resource, IHighlightedPositionAcceptor acceptor,
  			CancelIndicator cancelIndicator) {
  		searchAndHighlightElements(resource, acceptor, cancelIndicator);
  		highlightTasks(resource, acceptor);
  	}
docs: <p>
  Actual implementation of the semantic highlighting calculation. It is ensured, that the given resource is not
  <code>null</code> and refers to an initialized parse result.
  </p>
  <p>
  By default this will visit the elements in the resource recursively and call
  {@link #highlightElement(EObject, IHighlightedPositionAcceptor, CancelIndicator)} for each of them. As the
  last step, tasks will be highlighted.
  </p>
  <p>
  Clients can override this method if the default recursive approach does not fit their use case
  </p>
  
  @param resource
  a valid to-be-processed resource. Is never <code>null</code>.
  @param acceptor
  the acceptor. Is never <code>null</code>.