-// Possible solution:
-// maintain a list of gdcmFiles (created by say ExecuteInformation) created
-// once and for all accross the life of vtkGdcmHeader (it would only load
-// new gdcmFile if the user changes the list). ExecuteData would then use
-// those gdcmFile and hence avoid calling the construtor:
-// - advantage: the header of the files would only be parser once.
-// - drawback: once execute information is called (i.e. on creation of
-// a vtkGdcmHeader) the gdcmFile structure is loaded in memory.
-// The average size of a gdcmHeader being of 100Ko, is one
-// loads 10 stacks of images with say 200 images each, you
-// end-up with a loss of 200Mo...
+// GDCM_NAME_SPACE::SerieHelper *sh= new GDCM_NAME_SPACE::SerieHelper();
+// // if user wants *not* to load some parts of the file headers
+// sh->SetLoadMode(loadMode);
+//
+// // if user wants *not* to load some files
+// sh->AddRestriction(group, element, value, operator);
+// sh->AddRestriction( ...
+// sh->SetDirectory(directoryWithImages);
+//
+// // if user wants to sort reverse order
+// sh->SetSortOrderToReverse();
+//
+// // here, we suppose only the first 'Serie' is of interest
+// // it's up to the user to decide !
+// GDCM_NAME_SPACE::FileList *l = sh->GetFirstSingleSerieUIDFileSet();
+//
+// // if user is doesn't trust too much the files with same Serie UID
+// if ( !sh->IsCoherent(l) )
+// return; // not same sizes, same 'pixel' type -> stop
+//
+// // WARNING : all that follows works only with 'bona fide' Series
+// // (In some Series; there are more than one 'orientation'
+// // Don't expected to build a 'volume' with that!
+// //
+// // -> use sh->SplitOnOrientation(l)
+// // - or sh->SplitOnPosition(l), or SplitOnTagValue(l, gr, el) -
+// // depending on what you want to do
+// // and iterate on the various 'X Coherent File Sets'
+//
+// // if user *knows* he has to drop the 'duplicates' images
+// // (same Position)
+// sh->SetDropDuplicatePositions(true);
+//
+// // Sorting the list is mandatory
+// // a side effect is to compute ZSpacing for the file set
+// sh->OrderFileList(l); // sort the list
+//
+// vtkGdcmReader *reader = vtkGdcmReader::New();
+//
+// // if user wants to modify pixel order (Mirror, TopDown, 90°Rotate, ...)
+// // he has to supply the function that does the job
+// // (a *very* simple example is given in vtkgdcmSerieViewer.cxx)
+// reader->SetUserFunction (userSuppliedFunction);
+//
+// // to pass a 'Coherent File List' as produced by GDCM_NAME_SPACE::SerieHelper
+// reader->SetCoherentFileList(l);
+// reader->Update();
+//
+// WARNING TODO CLEANME
+// Actual limitations of this code
+// when a Coherent File List from SerieHelper is not used (bad idea :-(