diff --git a/Modules/IO/ImageIO/include/otbImageSeriesFileReader.h b/Modules/IO/ImageIO/include/otbImageSeriesFileReader.h
index 7ef8d623812d3a888291153fb24e989547da524d..ada4080d51ca7e55d129ef5be21a42d1a0b0fb8f 100644
--- a/Modules/IO/ImageIO/include/otbImageSeriesFileReader.h
+++ b/Modules/IO/ImageIO/include/otbImageSeriesFileReader.h
@@ -101,6 +101,8 @@ public:
   typedef ObjectList<ExtractSelectionType>           ExtractSelectionListType;
   typedef typename ExtractSelectionListType::Pointer ExtractSelectionListPointerType;
 
+  typedef itk::ProcessObject::DataObjectPointerArraySizeType DataObjectPointerArraySizeType;
+
 protected:
   ImageSeriesFileReader();
   virtual ~ImageSeriesFileReader () {}
@@ -116,7 +118,8 @@ protected:
    * - TImage is an Image and TInteranalImage is a VectorImage
    * - TImage and TInternalImage are of Image type.
    */
-  virtual void GenerateData(unsigned int idx);
+  virtual void GenerateData(DataObjectPointerArraySizeType idx);
+  using Superclass::GenerateData;
 
   /** AllocateListOfComponents
    * Once MetaFile is read, allocation of lists are performed in SetFileName.
@@ -205,6 +208,8 @@ public:
   typedef ObjectList<ExtractSelectionType>           ExtractSelectionListType;
   typedef typename ExtractSelectionListType::Pointer ExtractSelectionListPointerType;
 
+  typedef itk::ProcessObject::DataObjectPointerArraySizeType DataObjectPointerArraySizeType;
+
 protected:
   ImageSeriesFileReader();
   virtual ~ImageSeriesFileReader () {}
@@ -220,7 +225,8 @@ protected:
    * - TImage is an Image and TInteranalImage is a VectorImage
    * - TImage and TInternalImage are of Image type.
    */
-  virtual void GenerateData(unsigned int idx);
+  virtual void GenerateData(DataObjectPointerArraySizeType idx);
+  using Superclass::GenerateData;
 
   /**
    * Once MetaFile is read, allocation of lists are performed in SetFileName.
@@ -308,6 +314,8 @@ public:
   typedef ObjectList<ExtractSelectionType>           ExtractSelectionListType;
   typedef typename ExtractSelectionListType::Pointer ExtractSelectionListPointerType;
 
+  typedef itk::ProcessObject::DataObjectPointerArraySizeType DataObjectPointerArraySizeType;
+
 protected:
   ImageSeriesFileReader();
   virtual ~ImageSeriesFileReader () {}
@@ -323,7 +331,8 @@ protected:
    * - TImage is an Image and TInteranalImage is a VectorImage
    * - TImage and TInternalImage are of Image type.
    */
-  virtual void GenerateData(unsigned int idx);
+  virtual void GenerateData(DataObjectPointerArraySizeType idx);
+  using Superclass::GenerateData;
 
   /**
    * Once MetaFile is read, allocation of lists are performed in SetFileName.
@@ -413,6 +422,8 @@ public:
   typedef ObjectList<ExtractSelectionType>           ExtractSelectionListType;
   typedef typename ExtractSelectionListType::Pointer ExtractSelectionListPointerType;
 
+  typedef itk::ProcessObject::DataObjectPointerArraySizeType DataObjectPointerArraySizeType;
+
 protected:
   ImageSeriesFileReader();
   virtual ~ImageSeriesFileReader () {}
@@ -428,7 +439,8 @@ protected:
    * - TImage is an Image and TInteranalImage is a VectorImage
    * - TImage and TInternalImage are of Image type.
    */
-  virtual void GenerateData(unsigned int idx);
+  virtual void GenerateData(DataObjectPointerArraySizeType idx);
+  using Superclass::GenerateData;
 
   /**
    * Once MetaFile is read, allocation of lists are performed in SetFileName.
diff --git a/Modules/IO/ImageIO/include/otbImageSeriesFileReader.txx b/Modules/IO/ImageIO/include/otbImageSeriesFileReader.txx
index c5ec654260c1824946505cecbfc81d6d75f37b93..eaed4aa022564773cef8f2a29129985c93d4cd98 100644
--- a/Modules/IO/ImageIO/include/otbImageSeriesFileReader.txx
+++ b/Modules/IO/ImageIO/include/otbImageSeriesFileReader.txx
@@ -47,7 +47,7 @@ ImageSeriesFileReader<TImage, TInternalImage>
 template <class TImage, class TInternalImage>
 void
 ImageSeriesFileReader<TImage, TInternalImage>
-::GenerateData(unsigned int idx)
+::GenerateData(DataObjectPointerArraySizeType idx)
 {
   std::ostringstream msg;
   msg << "Something wrong... Check the template definition of this class in the program...\n";
@@ -119,7 +119,7 @@ ImageSeriesFileReader<Image<TPixel, 2>, Image<TInternalPixel, 2> >
 template <class TPixel, class TInternalPixel>
 void
 ImageSeriesFileReader<Image<TPixel, 2>, Image<TInternalPixel, 2> >
-::GenerateData(unsigned int idx)
+::GenerateData(DataObjectPointerArraySizeType idx)
 {
   otbMsgDebugMacro(<< "Reading " << idx << "th image: " << this->m_ListOfFileNames[idx]);
 
@@ -200,7 +200,7 @@ ImageSeriesFileReader<Image<TPixel, 2>, VectorImage<TInternalPixel, 2> >
 template <class TPixel, class TInternalPixel>
 void
 ImageSeriesFileReader<Image<TPixel, 2>, VectorImage<TInternalPixel, 2> >
-::GenerateData(unsigned int idx)
+::GenerateData(DataObjectPointerArraySizeType idx)
 {
   otbMsgDebugMacro(<< "Reading " << idx << "th image: " << this->m_ListOfFileNames[idx]);
 
@@ -261,7 +261,7 @@ ImageSeriesFileReader<VectorImage<TPixel, 2>, VectorImage<TInternalPixel, 2> >
 template <class TPixel, class TInternalPixel>
 void
 ImageSeriesFileReader<VectorImage<TPixel, 2>, VectorImage<TInternalPixel, 2> >
-::GenerateData(unsigned int idx)
+::GenerateData(DataObjectPointerArraySizeType idx)
 {
   otbMsgDebugMacro(<< "Reading " << idx << "th image: " << this->m_ListOfFileNames[idx]);
 
diff --git a/Modules/IO/ImageIO/include/otbImageSeriesFileReaderBase.h b/Modules/IO/ImageIO/include/otbImageSeriesFileReaderBase.h
index 9e20ba01a0fd2c0583f980d6a1d3590f98dc2777..cb1aa3ae4afe7819a318f306b325df768490cb68 100644
--- a/Modules/IO/ImageIO/include/otbImageSeriesFileReaderBase.h
+++ b/Modules/IO/ImageIO/include/otbImageSeriesFileReaderBase.h
@@ -165,7 +165,7 @@ protected:
    * - TImage is an Image and TInteranalImage is a VectorImage
    * - TImage and TInternalImage are of Image type.
    */
-  virtual void GenerateData(unsigned int idx);
+  virtual void GenerateData(DataObjectPointerArraySizeType idx);
 
   /**
    * Read the MetaFile and test its effectiveness once inputFileName is set.
diff --git a/Modules/IO/ImageIO/include/otbImageSeriesFileReaderBase.txx b/Modules/IO/ImageIO/include/otbImageSeriesFileReaderBase.txx
index 3c48dd7f41dae14411c08d0bcff8e0a775073a73..5d355b4d2940c0f9cb10b17cfe3bed46305f78f5 100644
--- a/Modules/IO/ImageIO/include/otbImageSeriesFileReaderBase.txx
+++ b/Modules/IO/ImageIO/include/otbImageSeriesFileReaderBase.txx
@@ -332,7 +332,7 @@ ImageSeriesFileReaderBase<TImage, TInternalImage>
 template <class TImage, class TInternalImage>
 void
 ImageSeriesFileReaderBase<TImage, TInternalImage>
-::GenerateData(unsigned int itkNotUsed(idx))
+::GenerateData(DataObjectPointerArraySizeType itkNotUsed(idx))
 {
   std::ostringstream msg;
   msg << "Something wrong... Check the template definition of this class in the program...\n";
@@ -365,7 +365,7 @@ ImageSeriesFileReaderBase<TImage, TInternalImage>
 template <class TImage, class TInternalImage>
 typename ImageSeriesFileReaderBase<TImage, TInternalImage>::OutputImageType *
 ImageSeriesFileReaderBase<TImage, TInternalImage>
-::GenerateOutput(unsigned int idx)
+::GenerateOutput(DataObjectPointerArraySizeType idx)
 {
   this->GenerateData(idx);
   return this->GetOutput(idx);