code: public final Set<String> getCategories()
  	{
  		final Set<String> categories = new TreeSet<String>();
  		if (parentNode != null)
  		{
  			categories.addAll(parentNode.getCategories());
  		}
  		if (accessor instanceof CategoryAware)
  		{
  			final Set<String> categoriesFromAccessor = ((CategoryAware) accessor).getCategoriesFromAnnotation();
  			if (categoriesFromAccessor != null)
  			{
  				categories.addAll(categoriesFromAccessor);
  			}
  		}
  		categories.addAll(additionalCategories);
  
  		return unmodifiableSet(categories);
  	}
docs: Returns an unmodifiable {@link java.util.Set} of {@link java.lang.String} with the categories of this node.
  
  @return an unmodifiable {@link java.util.Set} of {@link java.lang.String} with the categories of this node