---------------------------------------------------------------------
  CLASS: CmrTools     --trp
  PUBLIC METHODS:
    elistCompare() 
       Compare two NSR elist objects, return TRUE/FALSE whether the
       objects are identical, and optionaly log any differences.
    getPlistTypeDesc() 
       Given an NSR path element, provide a string describing the
       path element type.
    plistCompare() 
       Compare two NSR plist objects, return TRUE/FALSE whether the
       objects are identical, and optionaly log any differences. 
 
  USAGE NOTES:
 
 ----------------------------------------------------------------------

---------------------------------------------------------------------
  METHOD: CmrTools::elistCompare  --trp
 
   Compare two elist objects for equality, optionally logging
   the differences.
 
  ARGS:
   ExtentList&  elist1  IN  First comparison extent list.
   ExtentList&  elist2  IN  Second comparison extent list.
   Log*         log     IN  NULL, or logging object.
 
  RETURNS:
   TRUE if the extent lists are equal.
   FALSE if the extent lists are not equal.
 
  PRE-CONDITIONS:
   The Log* is NULL, or points to a valid Log object.
   
  POST-CONDITIONS:
   If differences have been found, and a non-null Log object has
   been passed via the Log* parameter, the log file will contain
   text defining those differences.
 
  ERRORS:
  NOTES:
 
 ----------------------------------------------------------------------
 ----------------------------------------------------------------------
RWBoolean CmrTools::elistCompare(ExtentList &elist1,
                                 ExtentList &elist2,
                                 Log *log)


---------------------------------------------------------------------
  METHOD: CmrTools::getPlistTypeDesc  --trp
 
   Given a pathe element type, provide a descriptive string.
 
  ARGS:
   int         type      IN   Path element type.
   RWCString&  typeDesc  OUT  String populated with descriptive text.
 
  RETURNS:
   void
 
  PRE-CONDITIONS:
   "type" is a valid path element type.
   
  POST-CONDITIONS:
 
  ERRORS:
 
  NOTES:
 
 ----------------------------------------------------------------------
 ----------------------------------------------------------------------
void CmrTools::getPlistTypeDesc(int type, RWCString& typeDesc)


---------------------------------------------------------------------
  METHOD: CmrTools::plistCompare  --trp
 
   Compare equality of two path element lists.
 
  ARGS:
   PathElementList&   plist1  IN  First comparison plist.
   PathElementList&   plist2  IN  Second comparison plist.
   Log*               log     IN  NULL, or valid Log object.
 
  RETURNS:
   TRUE if the path element lists are equal.
   FALSE if the path element lists are not equal.
 
  PRE-CONDITIONS:
   The Log* is NULL, or points to a valid Log object.
   
  POST-CONDITIONS:
   If differences have been found, and a non-null Log object has
   been passed via the Log* parameter, the log file will contain
   text defining those differences.
 
  NOTES:
 
 ----------------------------------------------------------------------
 ----------------------------------------------------------------------
RWBoolean CmrTools::plistCompare(PathElementList &plist1,
                                 PathElementList &plist2,
                                 Log *log)