diff --git a/Modules/Adapters/GdalAdapters/include/otbGeometriesSource.h b/Modules/Adapters/GdalAdapters/include/otbGeometriesSource.h
index 43ea1f4b2d03d6cca4647f446effcc05eb3a84dd..0d87528dd52c736b0648115d0133c3ef1d114859 100644
--- a/Modules/Adapters/GdalAdapters/include/otbGeometriesSource.h
+++ b/Modules/Adapters/GdalAdapters/include/otbGeometriesSource.h
@@ -71,6 +71,7 @@ public:
   typedef itk::ProcessObject                   Superclass;
   typedef itk::SmartPointer<Self>              Pointer;
   typedef itk::SmartPointer<const Self>        ConstPointer;
+  typedef itk::ProcessObject::DataObjectPointerArraySizeType DataObjectPointerArraySizeType;
   //@}
 
   /**\name I/O typedefs */
diff --git a/Modules/Core/LabelMap/include/otbLabelMapSource.h b/Modules/Core/LabelMap/include/otbLabelMapSource.h
index 65e9552335bb4abf4eb57d8383158f7590ed71a8..3801e51ff1b2e960d8a2b0b7e310e1584a161cfd 100644
--- a/Modules/Core/LabelMap/include/otbLabelMapSource.h
+++ b/Modules/Core/LabelMap/include/otbLabelMapSource.h
@@ -51,6 +51,7 @@ public:
   /** Run-time type information (and related methods). */
   itkTypeMacro(LabelMapSource, itk::ProcessObject);
 
+  typedef itk::ProcessObject::DataObjectPointerArraySizeType DataObjectPointerArraySizeType;
   typedef TOutputLabelMap                   OutputLabelMapType;
   typedef typename TOutputLabelMap::Pointer OutputLabelMapPointer;
 
diff --git a/Modules/Core/LabelMap/include/otbLabelMapToSampleListFilter.h b/Modules/Core/LabelMap/include/otbLabelMapToSampleListFilter.h
index 95b78afe8887635b6401523e2a1d52d95c06bcb0..cc3e6946328d8b19b522bece0221d3349f3bdc03 100644
--- a/Modules/Core/LabelMap/include/otbLabelMapToSampleListFilter.h
+++ b/Modules/Core/LabelMap/include/otbLabelMapToSampleListFilter.h
@@ -71,6 +71,7 @@ public:
 
   /** DataObject typedef*/
   typedef typename Superclass::DataObjectPointer      DataObjectPointerType;
+  typedef itk::ProcessObject::DataObjectPointerArraySizeType DataObjectPointerArraySizeType;
 
   /** Set/Get the input label map */
   void SetInputLabelMap(const InputLabelMapType * inputLabelMap);
diff --git a/Modules/Core/LabelMap/include/otbLabelMapWithClassLabelToLabeledSampleListFilter.h b/Modules/Core/LabelMap/include/otbLabelMapWithClassLabelToLabeledSampleListFilter.h
index 797c5aec0d4cbe3d587d380388694b05cdce007a..0d6368bee2a966a2aba561900d409a27dd5e60b4 100644
--- a/Modules/Core/LabelMap/include/otbLabelMapWithClassLabelToLabeledSampleListFilter.h
+++ b/Modules/Core/LabelMap/include/otbLabelMapWithClassLabelToLabeledSampleListFilter.h
@@ -61,6 +61,7 @@ public:
   typedef typename InputLabelMapType::ConstPointer    InputLabelMapConstPointerType;
   typedef typename InputLabelMapType::LabelObjectType LabelObjectType;
   typedef typename InputLabelMapType::ConstIterator   ConstIteratorType;
+  typedef itk::ProcessObject::DataObjectPointerArraySizeType DataObjectPointerArraySizeType;
 
   /** Output sample list */
   typedef TOutputSampleList                           OutputSampleListType;
diff --git a/Modules/Core/LabelMap/include/otbMinMaxAttributesLabelMapFilter.h b/Modules/Core/LabelMap/include/otbMinMaxAttributesLabelMapFilter.h
index 7997be05b05805522241a4452fefc5890234ea1a..17fdb9082cc8af98940c904346cf0074cf98133f 100644
--- a/Modules/Core/LabelMap/include/otbMinMaxAttributesLabelMapFilter.h
+++ b/Modules/Core/LabelMap/include/otbMinMaxAttributesLabelMapFilter.h
@@ -42,6 +42,7 @@ public:
   typedef itk::SmartPointer<const Self>                ConstPointer;
 
   /** Some convenient typedefs. */
+  typedef itk::ProcessObject::DataObjectPointerArraySizeType DataObjectPointerArraySizeType;
   typedef TInputImage InputImageType;
   typedef typename InputImageType::Pointer             InputImagePointer;
   typedef typename InputImageType::ConstPointer        InputImageConstPointer;
diff --git a/Modules/Core/ObjectList/include/otbObjectListSource.h b/Modules/Core/ObjectList/include/otbObjectListSource.h
index 464af0f9d962b2024b67bebc48b05bf6cb300bfe..a107e9bb13de5e826d6b03e282c41b5de515821e 100644
--- a/Modules/Core/ObjectList/include/otbObjectListSource.h
+++ b/Modules/Core/ObjectList/include/otbObjectListSource.h
@@ -57,6 +57,7 @@ public:
   itkTypeMacro(ObjectListSource, ProcessObject);
 
   /** Some typedefs. */
+  typedef itk::ProcessObject::DataObjectPointerArraySizeType DataObjectPointerArraySizeType;
   typedef TOutputList                   OutputListType;
   typedef typename TOutputList::Pointer OutputListPointer;
 
diff --git a/Modules/Core/PointSet/include/otbPointSetSource.h b/Modules/Core/PointSet/include/otbPointSetSource.h
index e0dc29ce8929b856b7cd4395ce58a22d2585b359..4acaace7f1dd573663f5693f206990cda61a9a20 100644
--- a/Modules/Core/PointSet/include/otbPointSetSource.h
+++ b/Modules/Core/PointSet/include/otbPointSetSource.h
@@ -55,6 +55,7 @@ public:
   itkTypeMacro(PointSetSource, itk::ProcessObject);
 
   /** Some convenient typedefs. */
+  typedef itk::ProcessObject::DataObjectPointerArraySizeType DataObjectPointerArraySizeType;
   typedef itk::DataObject::Pointer                        DataObjectPointer;
   typedef TOutputPointSet                                 OutputPointSetType;
   typedef typename OutputPointSetType::Pointer            OutputPointSetPointer;
@@ -105,7 +106,7 @@ public:
    * filter's pipeline mechanism must be consistent with what the
    * mini-pipeline will do). */
   virtual void GraftOutput(itk::DataObject *output);
-  virtual void GraftNthOutput(unsigned int idx, itk::DataObject *output);
+  virtual void GraftNthOutput(DataObjectPointerArraySizeType idx, itk::DataObject *output);
 
   /** Make a DataObject of the correct type to used as the specified
    * output.  Every ProcessObject subclass must be able to create a
diff --git a/Modules/Core/VectorDataBase/include/otbGISTableSource.h b/Modules/Core/VectorDataBase/include/otbGISTableSource.h
index ac072768548ba18ef9710bae5c10eba2e9c22db4..7edb91f5f4b2b0ccb64be17c636801dbd6af8a67 100644
--- a/Modules/Core/VectorDataBase/include/otbGISTableSource.h
+++ b/Modules/Core/VectorDataBase/include/otbGISTableSource.h
@@ -52,6 +52,7 @@ public:
   /** Run-time type information (and related methods). */
   itkTypeMacro(GISTableSource, itk::ProcessObject);
 
+  typedef itk::ProcessObject::DataObjectPointerArraySizeType DataObjectPointerArraySizeType;
   typedef TOutputGISTable                   OutputGISTableType;
   typedef typename TOutputGISTable::Pointer OutputGISTablePointer;
 
diff --git a/Modules/Core/VectorDataBase/include/otbVectorDataSource.h b/Modules/Core/VectorDataBase/include/otbVectorDataSource.h
index 53ae3909ed572949f0248219a12b9296fb24d6b8..4db33e36f35e580155b42db3688ce0554cd46a28 100644
--- a/Modules/Core/VectorDataBase/include/otbVectorDataSource.h
+++ b/Modules/Core/VectorDataBase/include/otbVectorDataSource.h
@@ -52,6 +52,7 @@ public:
   /** Run-time type information (and related methods). */
   itkTypeMacro(VectorDataSource, itk::ProcessObject);
 
+  typedef itk::ProcessObject::DataObjectPointerArraySizeType DataObjectPointerArraySizeType;
   typedef TOutputVectorData                   OutputVectorDataType;
   typedef typename TOutputVectorData::Pointer OutputVectorDataPointer;
 
diff --git a/Modules/Detection/ObjectDetection/include/otbDescriptorsListSampleGenerator.h b/Modules/Detection/ObjectDetection/include/otbDescriptorsListSampleGenerator.h
index 7fbaed72cb11face9b56afb9c5901cc3454ef9a3..64bca95138d7c93e32ca9e6c0f66fdf8634e2391 100644
--- a/Modules/Detection/ObjectDetection/include/otbDescriptorsListSampleGenerator.h
+++ b/Modules/Detection/ObjectDetection/include/otbDescriptorsListSampleGenerator.h
@@ -82,6 +82,7 @@ public:
                       TInputImage::ImageDimension);
 
   /** Smart Pointer type to a DataObject. */
+  typedef itk::ProcessObject::DataObjectPointerArraySizeType DataObjectPointerArraySizeType;
   typedef typename itk::DataObject::Pointer DataObjectPointer;
 
   /** Input VectorData */
diff --git a/Modules/Filtering/DimensionalityReduction/include/otbSparseWvltToAngleMapperListFilter.h b/Modules/Filtering/DimensionalityReduction/include/otbSparseWvltToAngleMapperListFilter.h
index 0465aa15864ebb69ea4c32bf6491056913cce5a1..1d2666d5c7280ba2c5907c9d6b21fb7c61669e22 100644
--- a/Modules/Filtering/DimensionalityReduction/include/otbSparseWvltToAngleMapperListFilter.h
+++ b/Modules/Filtering/DimensionalityReduction/include/otbSparseWvltToAngleMapperListFilter.h
@@ -89,6 +89,7 @@ public:
    * a ProcessObject's pipeline */
   typedef itk::DataObject::Pointer                             DataObjectPointer;
   typedef itk::DataObjectDecorator< OutputSampleListType >     OutputSampleListObjectType;
+  typedef itk::ProcessObject::DataObjectPointerArraySizeType DataObjectPointerArraySizeType;
 
   /** Returns the output sample list */
   OutputSampleListType * GetOutputSampleList();
diff --git a/Modules/Filtering/ImageManipulation/include/otbStreamingInnerProductVectorImageFilter.h b/Modules/Filtering/ImageManipulation/include/otbStreamingInnerProductVectorImageFilter.h
index 6c04e6559ad7e9b772d72216a7a732bbd43a4b9f..7b3e2e3f9a3432f5f01fb67c9f2437e02e721015 100644
--- a/Modules/Filtering/ImageManipulation/include/otbStreamingInnerProductVectorImageFilter.h
+++ b/Modules/Filtering/ImageManipulation/include/otbStreamingInnerProductVectorImageFilter.h
@@ -80,6 +80,7 @@ public:
 
   /** Smart Pointer type to a DataObject. */
   typedef typename itk::DataObject::Pointer DataObjectPointer;
+  typedef itk::ProcessObject::DataObjectPointerArraySizeType DataObjectPointerArraySizeType;
 
   /** Type definition for a double matrix. */
   typedef vnl_matrix<double>               MatrixType;
diff --git a/Modules/Filtering/ImageManipulation/include/otbStreamingMatrixTransposeMatrixImageFilter.h b/Modules/Filtering/ImageManipulation/include/otbStreamingMatrixTransposeMatrixImageFilter.h
index 1ebbeada00c26daae911b8828ab444439955ec4b..a4e57347370b7da73975a3c600fff652f3816394 100644
--- a/Modules/Filtering/ImageManipulation/include/otbStreamingMatrixTransposeMatrixImageFilter.h
+++ b/Modules/Filtering/ImageManipulation/include/otbStreamingMatrixTransposeMatrixImageFilter.h
@@ -98,6 +98,7 @@ public:
 
   /** Smart Pointer type to a DataObject. */
   typedef typename itk::DataObject::Pointer DataObjectPointer;
+  typedef itk::ProcessObject::DataObjectPointerArraySizeType DataObjectPointerArraySizeType;
 
   /** Type of DataObjects used for scalar outputs */
   typedef typename itk::Array<long>                     ArrayLongPixelType;
diff --git a/Modules/Filtering/MathParser/include/otbBandMathImageFilter.h b/Modules/Filtering/MathParser/include/otbBandMathImageFilter.h
index cb1273e2255ec8f173159e798d0e41e5618acc6e..10e1cc2d83fd5ed4cd9719a1f96e8626d5c5a311 100644
--- a/Modules/Filtering/MathParser/include/otbBandMathImageFilter.h
+++ b/Modules/Filtering/MathParser/include/otbBandMathImageFilter.h
@@ -103,6 +103,7 @@ public:
   typedef typename ImageType::PointType           OrigineType;
   typedef typename ImageType::SpacingType         SpacingType;
   typedef Parser                                  ParserType;
+  typedef itk::ProcessObject::DataObjectPointerArraySizeType DataObjectPointerArraySizeType;
 
   /** Set the nth filter input with or without a specified associated variable name */
   void SetNthInput( DataObjectPointerArraySizeType idx, const ImageType * image);
diff --git a/Modules/Filtering/MathParser/include/otbBandMathXImageFilter.h b/Modules/Filtering/MathParser/include/otbBandMathXImageFilter.h
index 74a1df6aa64c9b3c5b3a4b29cbc0f7cc62252aec..490653307574cbf09686763a992a53a3945ca94a 100644
--- a/Modules/Filtering/MathParser/include/otbBandMathXImageFilter.h
+++ b/Modules/Filtering/MathParser/include/otbBandMathXImageFilter.h
@@ -89,6 +89,7 @@ public:
   typedef typename ImageType::SpacingType            SpacingType;
   typedef ParserX                                     ParserType;
   typedef typename ParserType::ValueType             ValueType;
+  typedef itk::ProcessObject::DataObjectPointerArraySizeType DataObjectPointerArraySizeType;
 
   /** Typedef for statistic computing. */
   typedef StreamingStatisticsVectorImageFilter<ImageType> StreamingStatisticsVectorImageFilterType;
diff --git a/Modules/Filtering/Path/include/otbPathListSource.h b/Modules/Filtering/Path/include/otbPathListSource.h
index d219b882f7ddd328ef883c32c74ff2b11a684d74..766a2b5eb7018a63bfe6ea51c77c67f0cb0b5fd5 100644
--- a/Modules/Filtering/Path/include/otbPathListSource.h
+++ b/Modules/Filtering/Path/include/otbPathListSource.h
@@ -56,6 +56,7 @@ public:
 
   /** Some convenient typedefs. */
   typedef itk::DataObject::Pointer DataObjectPointer;
+  typedef itk::ProcessObject::DataObjectPointerArraySizeType DataObjectPointerArraySizeType;
 
   typedef TOutputPath                               OutputPathType;
   typedef typename OutputPathType::Pointer          OutputPathPointerType;
diff --git a/Modules/Filtering/Path/include/otbPathListToHistogramGenerator.h b/Modules/Filtering/Path/include/otbPathListToHistogramGenerator.h
index 6df19b046123458c717d8db62426b7ae68d4b1ed..61d6e38f0481f841dbe85b8c71831e1388002683 100644
--- a/Modules/Filtering/Path/include/otbPathListToHistogramGenerator.h
+++ b/Modules/Filtering/Path/include/otbPathListToHistogramGenerator.h
@@ -88,6 +88,7 @@ public:
 
   /** DataObject typedef*/
   typedef typename Superclass::DataObjectPointer        DataObjectPointer;
+  typedef itk::ProcessObject::DataObjectPointerArraySizeType DataObjectPointerArraySizeType;
 
   void GraftNthOutput(unsigned int idx, itk::DataObject *graft);
   void GraftOutput(itk::DataObject *graft);
diff --git a/Modules/Filtering/Statistics/include/otbListSampleGenerator.h b/Modules/Filtering/Statistics/include/otbListSampleGenerator.h
index 28ca414bd37a650a24938898e14b727f4c088a83..8960741071fce0717cb00a5be23c5fe671d3c43e 100644
--- a/Modules/Filtering/Statistics/include/otbListSampleGenerator.h
+++ b/Modules/Filtering/Statistics/include/otbListSampleGenerator.h
@@ -69,6 +69,7 @@ public:
   typedef typename ImageType::RegionType   ImageRegionType;
   typedef TVectorData                      VectorDataType;
   typedef typename VectorDataType::Pointer VectorDataPointerType;
+  typedef itk::ProcessObject::DataObjectPointerArraySizeType DataObjectPointerArraySizeType;
 
   /** List to store the pixel values */
   typedef typename ImageType::PixelType           SampleType;
diff --git a/Modules/Filtering/Statistics/include/otbListSampleSource.h b/Modules/Filtering/Statistics/include/otbListSampleSource.h
index 163fbe23e070afd5e5c2e5a22851fe75254654f3..da1d3031880e2bc16c8576427ba33f6a90d208f3 100644
--- a/Modules/Filtering/Statistics/include/otbListSampleSource.h
+++ b/Modules/Filtering/Statistics/include/otbListSampleSource.h
@@ -59,6 +59,7 @@ public:
   typedef typename OutputSampleListType::ConstPointer          OutputSampleListConstPointer;
   typedef typename OutputSampleListType::MeasurementVectorType OutputMeasurementVectorType;
   typedef typename OutputMeasurementVectorType::ValueType      OutputValueType;
+  typedef itk::ProcessObject::DataObjectPointerArraySizeType DataObjectPointerArraySizeType;
 
   /** ListSample is not a DataObject, we need to decorate it to push it down
    * a ProcessObject's pipeline */
diff --git a/Modules/Filtering/Statistics/include/otbListSampleToBalancedListSampleFilter.h b/Modules/Filtering/Statistics/include/otbListSampleToBalancedListSampleFilter.h
index 33f2df070e358c8fc5ee08aac4029da1cb16143c..8d8f2bbdc2fbf57d47e44b73e81b8f04c53ac0ca 100644
--- a/Modules/Filtering/Statistics/include/otbListSampleToBalancedListSampleFilter.h
+++ b/Modules/Filtering/Statistics/include/otbListSampleToBalancedListSampleFilter.h
@@ -84,6 +84,7 @@ public:
 
   /** DataObject typedef*/
   typedef typename Superclass::DataObjectPointer               DataObjectPointer;
+  typedef itk::ProcessObject::DataObjectPointerArraySizeType DataObjectPointerArraySizeType;
 
   /** Filter adding noise to a ListSample */
   typedef otb::Statistics::GaussianAdditiveNoiseSampleListFilter
diff --git a/Modules/Filtering/Statistics/include/otbListSampleToHistogramListGenerator.h b/Modules/Filtering/Statistics/include/otbListSampleToHistogramListGenerator.h
index d2e695bbaea661d2cb3aa3202ed19694318f8679..e1641aa46aa611f46d6ce06b328675a0d120a75c 100644
--- a/Modules/Filtering/Statistics/include/otbListSampleToHistogramListGenerator.h
+++ b/Modules/Filtering/Statistics/include/otbListSampleToHistogramListGenerator.h
@@ -76,6 +76,7 @@ public:
 
   /** DataObject typedef*/
   typedef typename Superclass::DataObjectPointer        DataObjectPointer;
+  typedef itk::ProcessObject::DataObjectPointerArraySizeType DataObjectPointerArraySizeType;
 
   // Set/Get the input list sample
   void SetListSample(const ListSampleType* inputlist);
diff --git a/Modules/Filtering/Statistics/include/otbListSampleToVariableDimensionHistogramGenerator.h b/Modules/Filtering/Statistics/include/otbListSampleToVariableDimensionHistogramGenerator.h
index 399fa2a2bfe2e786eb0e5650f1913d12e6aec468..0422e3a0d40ea2ed38ffbf1f8a7f69f800e0da3e 100644
--- a/Modules/Filtering/Statistics/include/otbListSampleToVariableDimensionHistogramGenerator.h
+++ b/Modules/Filtering/Statistics/include/otbListSampleToVariableDimensionHistogramGenerator.h
@@ -78,6 +78,7 @@ public:
 
   /** DataObject typedef*/
   typedef typename Superclass::DataObjectPointer        DataObjectPointer;
+  typedef itk::ProcessObject::DataObjectPointerArraySizeType DataObjectPointerArraySizeType;
 
   // Set/Get the input list sample
   void SetListSample(const ListSampleType* inputlist);
diff --git a/Modules/Filtering/Statistics/include/otbStreamingCompareImageFilter.h b/Modules/Filtering/Statistics/include/otbStreamingCompareImageFilter.h
index 0e8c23dafabdb300bf7a62b602128595a6170509..72611397233611aed4628316ea0d6ca7ef8bd781 100644
--- a/Modules/Filtering/Statistics/include/otbStreamingCompareImageFilter.h
+++ b/Modules/Filtering/Statistics/include/otbStreamingCompareImageFilter.h
@@ -71,6 +71,7 @@ public:
   typedef typename TInputImage::SizeType   SizeType;
   typedef typename TInputImage::IndexType  IndexType;
   typedef typename TInputImage::PixelType  PixelType;
+  typedef itk::ProcessObject::DataObjectPointerArraySizeType DataObjectPointerArraySizeType;
 
   itkStaticConstMacro(InputImageDimension, unsigned int,
                       TInputImage::ImageDimension);
diff --git a/Modules/Filtering/Statistics/include/otbStreamingHistogramVectorImageFilter.h b/Modules/Filtering/Statistics/include/otbStreamingHistogramVectorImageFilter.h
index b5d8bf94cd0d246659888c4a13503eb78cb709bb..2c4c1f6355dff32d3330797ff91196ab28cb1578 100644
--- a/Modules/Filtering/Statistics/include/otbStreamingHistogramVectorImageFilter.h
+++ b/Modules/Filtering/Statistics/include/otbStreamingHistogramVectorImageFilter.h
@@ -87,6 +87,7 @@ public:
 
   /** Smart Pointer type to a DataObject. */
   typedef typename itk::DataObject::Pointer       DataObjectPointer;
+  typedef itk::ProcessObject::DataObjectPointerArraySizeType DataObjectPointerArraySizeType;
 
   /** Types for histogram */
   typedef itk::Statistics::DenseFrequencyContainer2        DFContainerType;
diff --git a/Modules/Filtering/Statistics/include/otbStreamingMinMaxImageFilter.h b/Modules/Filtering/Statistics/include/otbStreamingMinMaxImageFilter.h
index 0094797593c72dd15997d1c29384cc8ccffab9c9..0a06eb3b9121d06ce76c91a348ab32f573d2d801 100644
--- a/Modules/Filtering/Statistics/include/otbStreamingMinMaxImageFilter.h
+++ b/Modules/Filtering/Statistics/include/otbStreamingMinMaxImageFilter.h
@@ -82,6 +82,7 @@ public:
 
   /** Smart Pointer type to a DataObject. */
   typedef typename itk::DataObject::Pointer DataObjectPointer;
+  typedef itk::ProcessObject::DataObjectPointerArraySizeType DataObjectPointerArraySizeType;
 
   /** Type of DataObjects used for scalar outputs */
   typedef itk::SimpleDataObjectDecorator<PixelType> PixelObjectType;
diff --git a/Modules/Filtering/Statistics/include/otbStreamingMinMaxVectorImageFilter.h b/Modules/Filtering/Statistics/include/otbStreamingMinMaxVectorImageFilter.h
index 51c5558ef317899882dd556b444f22e3286d301b..2cc97c6d5200d676b0a28ee91d3b8d5f443d4884 100644
--- a/Modules/Filtering/Statistics/include/otbStreamingMinMaxVectorImageFilter.h
+++ b/Modules/Filtering/Statistics/include/otbStreamingMinMaxVectorImageFilter.h
@@ -86,6 +86,7 @@ public:
 
   /** Smart Pointer type to a DataObject. */
   typedef typename itk::DataObject::Pointer DataObjectPointer;
+  typedef itk::ProcessObject::DataObjectPointerArraySizeType DataObjectPointerArraySizeType;
 
   /** Type of DataObjects used for scalar outputs */
   typedef typename itk::VariableSizeMatrix<RealType>    MatrixType;
diff --git a/Modules/Filtering/Statistics/include/otbStreamingStatisticsImageFilter.h b/Modules/Filtering/Statistics/include/otbStreamingStatisticsImageFilter.h
index 8b97c26e7c5efdef566bd0f98f5301d8d954c040..dd3612c79ace0acb90445f07e50298138acdc449 100644
--- a/Modules/Filtering/Statistics/include/otbStreamingStatisticsImageFilter.h
+++ b/Modules/Filtering/Statistics/include/otbStreamingStatisticsImageFilter.h
@@ -85,6 +85,7 @@ public:
 
   /** Smart Pointer type to a DataObject. */
   typedef typename itk::DataObject::Pointer DataObjectPointer;
+  typedef itk::ProcessObject::DataObjectPointerArraySizeType DataObjectPointerArraySizeType;
 
   /** Type of DataObjects used for scalar outputs */
   typedef itk::SimpleDataObjectDecorator<RealType>  RealObjectType;
diff --git a/Modules/Filtering/Statistics/include/otbStreamingStatisticsMapFromLabelImageFilter.h b/Modules/Filtering/Statistics/include/otbStreamingStatisticsMapFromLabelImageFilter.h
index 4c58abe93e0239408f9bbcda86588fc487697e07..5c7b4e2fe33eafdcff020337d0791061b7c2ef9f 100644
--- a/Modules/Filtering/Statistics/include/otbStreamingStatisticsMapFromLabelImageFilter.h
+++ b/Modules/Filtering/Statistics/include/otbStreamingStatisticsMapFromLabelImageFilter.h
@@ -87,6 +87,7 @@ public:
 
   /** Smart Pointer type to a DataObject. */
   typedef typename itk::DataObject::Pointer DataObjectPointer;
+  typedef itk::ProcessObject::DataObjectPointerArraySizeType DataObjectPointerArraySizeType;
 
   typedef itk::ImageBase<InputImageDimension> ImageBaseType;
   typedef typename ImageBaseType::RegionType InputImageRegionType;
diff --git a/Modules/Filtering/Statistics/include/otbStreamingStatisticsVectorImageFilter.h b/Modules/Filtering/Statistics/include/otbStreamingStatisticsVectorImageFilter.h
index da43a899280d9a86d8fea8bdcd4b91fba4b7621e..afe7e0432da9b6a20ac49972863c0b28bc64051b 100644
--- a/Modules/Filtering/Statistics/include/otbStreamingStatisticsVectorImageFilter.h
+++ b/Modules/Filtering/Statistics/include/otbStreamingStatisticsVectorImageFilter.h
@@ -83,6 +83,7 @@ public:
 
   /** Smart Pointer type to a DataObject. */
   typedef typename itk::DataObject::Pointer DataObjectPointer;
+  typedef itk::ProcessObject::DataObjectPointerArraySizeType DataObjectPointerArraySizeType;
 
   /** Type to use for computations. */
   typedef itk::VariableSizeMatrix<PrecisionType>        MatrixType;
diff --git a/Modules/Filtering/Statistics/include/otbVectorImageToMatrixImageFilter.h b/Modules/Filtering/Statistics/include/otbVectorImageToMatrixImageFilter.h
index f9c7144fbfd4be1266f6dbfcafc6ecce5f5ff5b7..9f8eced9eb034fc81a2e53217f7bf0a16f00fe2e 100644
--- a/Modules/Filtering/Statistics/include/otbVectorImageToMatrixImageFilter.h
+++ b/Modules/Filtering/Statistics/include/otbVectorImageToMatrixImageFilter.h
@@ -87,6 +87,7 @@ public:
 
   /** Smart Pointer type to a DataObject. */
   typedef typename itk::DataObject::Pointer DataObjectPointer;
+  typedef itk::ProcessObject::DataObjectPointerArraySizeType DataObjectPointerArraySizeType;
 
   /** Type of DataObjects used for scalar outputs */
   typedef vnl_matrix<RealType>                          MatrixType;
diff --git a/Modules/IO/ImageIO/include/otbImageSeriesFileReaderBase.h b/Modules/IO/ImageIO/include/otbImageSeriesFileReaderBase.h
index 55e7785d4c3170e3368cc036d356bcc237f924ae..9e20ba01a0fd2c0583f980d6a1d3590f98dc2777 100644
--- a/Modules/IO/ImageIO/include/otbImageSeriesFileReaderBase.h
+++ b/Modules/IO/ImageIO/include/otbImageSeriesFileReaderBase.h
@@ -99,6 +99,8 @@ public:
 
   typedef ObjectList<ReaderType>           ReaderListType;
   typedef typename ReaderListType::Pointer ReaderListPointerType;
+  
+  typedef itk::ProcessObject::DataObjectPointerArraySizeType DataObjectPointerArraySizeType;
 
   /** Get the file to be read */
   itkGetStringMacro(FileName);
diff --git a/Modules/Learning/SVMLearning/include/otbObjectDetectionClassifier.h b/Modules/Learning/SVMLearning/include/otbObjectDetectionClassifier.h
index 811140d339d8def3fd77e64f2158f7afd80dac2d..e03fe901c297e8be5bcb28b8bc545fa4c46aaf55 100644
--- a/Modules/Learning/SVMLearning/include/otbObjectDetectionClassifier.h
+++ b/Modules/Learning/SVMLearning/include/otbObjectDetectionClassifier.h
@@ -87,6 +87,7 @@ public:
 
   /** Smart Pointer type to a DataObject. */
   typedef typename itk::DataObject::Pointer DataObjectPointer;
+  typedef itk::ProcessObject::DataObjectPointerArraySizeType DataObjectPointerArraySizeType;
 
   /** Input VectorData */
   typedef TOutputVectorData                               VectorDataType;
diff --git a/Modules/Radiometry/Simulation/include/otbProspectModel.h b/Modules/Radiometry/Simulation/include/otbProspectModel.h
index cbe718d205620f7a7c2046fec8f9ed2029d46213..6fb40b7bcb6e97c717fdac6bdb844d477d478574 100644
--- a/Modules/Radiometry/Simulation/include/otbProspectModel.h
+++ b/Modules/Radiometry/Simulation/include/otbProspectModel.h
@@ -50,6 +50,8 @@ class ITK_EXPORT ProspectModel : public SimulationStep1Base
       typedef Superclass::SpectralResponseType      SpectralResponseType;
       typedef Superclass::ParametersType            ParametersType;
 
+      typedef itk::ProcessObject::DataObjectPointerArraySizeType DataObjectPointerArraySizeType;
+
       /** Standard macros */
       itkNewMacro(Self);
       itkTypeMacro(ProspectModel, SpectrumGeneratorBase);
diff --git a/Modules/Radiometry/Simulation/include/otbSailModel.h b/Modules/Radiometry/Simulation/include/otbSailModel.h
index c7c41980a04213ce1390e4a2f5258c0fa768dac8..bbff7253f9f8210a8c9bc7f822403897a3ed9da7 100644
--- a/Modules/Radiometry/Simulation/include/otbSailModel.h
+++ b/Modules/Radiometry/Simulation/include/otbSailModel.h
@@ -50,6 +50,8 @@ class ITK_EXPORT SailModel : public SimulationStep2Base
       typedef std::vector<double>                   VectorType;
       typedef Superclass::ParametersType   ParametersType;
 
+      typedef itk::ProcessObject::DataObjectPointerArraySizeType DataObjectPointerArraySizeType;
+
       /** Standard macros */
       itkNewMacro(Self);
       itkTypeMacro(SailModel, ProcessObject);
diff --git a/Modules/Segmentation/Conversion/include/otbLabelImageToOGRDataSourceFilter.h b/Modules/Segmentation/Conversion/include/otbLabelImageToOGRDataSourceFilter.h
index 1d9cff42f7779019e32d5173f9294095176fbf1f..3ae6e047983f98518fe65e764734538923846dd9 100644
--- a/Modules/Segmentation/Conversion/include/otbLabelImageToOGRDataSourceFilter.h
+++ b/Modules/Segmentation/Conversion/include/otbLabelImageToOGRDataSourceFilter.h
@@ -72,6 +72,8 @@ public:
   typedef typename OGRDataSourceType::Pointer        OGRDataSourcePointerType;
   typedef ogr::Layer                                 OGRLayerType;
 
+  typedef itk::ProcessObject::DataObjectPointerArraySizeType DataObjectPointerArraySizeType;
+
   /** Set/Get the input image of this process object.  */
   using Superclass::SetInput;
   virtual void SetInput(const InputImageType *input);