Base class for those classes that can appear inside the build file
as stand alone data types.
This class handles the common description attribute and provides
a default implementation for reference handling and checking for
circular references that is appropriate for types that can not be
nested inside elements of the same type (i.e. <patternset>
but not <path>).
This class handles the common description attribute and provides a default implementation for reference handling and checking for circular references that is appropriate for types that can not be nested inside elements of the same type (i.e. <patternset> but not <path>).