code: @Override
      public double[][] doDeserialize( JsonReader reader, JsonDeserializationContext ctx, JsonDeserializerParameters params ) {
          List<List<Double>> list = deserializeIntoList( reader, ctx, DoubleJsonDeserializer.getInstance(), params );
  
          if ( list.isEmpty() ) {
              return new double[0][0];
          }
  
          List<Double> firstList = list.get( 0 );
          if ( firstList.isEmpty() ) {
              return new double[list.size()][0];
          }
  
          double[][] array = new double[list.size()][firstList.size()];
  
          int i = 0;
          int j;
          for ( List<Double> innerList : list ) {
              j = 0;
              for ( Double value : innerList ) {
                  if ( null != value ) {
                      array[i][j] = value;
                  }
                  j++;
              }
              i++;
          }
          return array;
      }
docs: {@inheritDoc}