code: public Object newInstance() 
              throws InstantiationException, IllegalAccessException {
          
          if (this.arrayDimensions == 0) {
              return this.componentClass.newInstance();
          }
          
          final int[] zeroDims = new int[this.arrayDimensions];
          Arrays.fill(zeroDims, 0);
          return Array.newInstance(this.componentClass, zeroDims);
          
      }
docs: <p>
  Creates a new instance of the type.
  </p>
  <p>
  The returned instances are created using the default (no-arg) constructor
  if this Type does not represent an array. On the contrary, if this Type
  represents an array, an array object of zero-size dimensions is returned
  (like "String[0][0][0]").
  </p>
  
  @return an object created with the default constructor or a zero-dimensions array
  @throws InstantiationException if the type cannot be instantiated
  @throws IllegalAccessException if the type cannot be instantiated