/// <summary>
        /// Returns the sensitivity to the market data specified by {@code name}.
        /// <para>
        /// This returns a sensitivity instance which stores the sensitivity of the {@code marketDataName} delta to another
        /// market data of {@code name}.
        ///
        /// </para>
        /// </summary>
        /// <param name="name">  the name </param>
        /// <returns> the sensitivity </returns>
        /// <exception cref="IllegalArgumentException"> if the name does not match an entry </exception>
        public CrossGammaParameterSensitivity getSensitivity <T1>(MarketDataName <T1> name)
        {
//JAVA TO C# CONVERTER WARNING: Java wildcard generics have no direct equivalent in .NET:
//ORIGINAL LINE: com.opengamma.strata.collect.tuple.Pair<int, java.util.List<? extends ParameterMetadata>> indexAndMetadata = findStartIndexAndMetadata(name);
            Pair <int, IList <ParameterMetadata> > indexAndMetadata = findStartIndexAndMetadata(name);
            int startIndex = indexAndMetadata.First;
            int rowCt      = ParameterCount;
            int colCt      = indexAndMetadata.Second.Count;

//JAVA TO C# CONVERTER NOTE: The following call to the 'RectangularArrays' helper class reproduces the rectangular array initialization that is automatic in Java:
//ORIGINAL LINE: double[][] sensi = new double[rowCt][colCt];
            double[][] sensi = RectangularArrays.ReturnRectangularDoubleArray(rowCt, colCt);
            for (int i = 0; i < rowCt; ++i)
            {
                Array.Copy(Sensitivity.rowArray(i), startIndex, sensi[i], 0, colCt);
            }
            return(CrossGammaParameterSensitivity.of(MarketDataName, ParameterMetadata, name, indexAndMetadata.Second, Currency, DoubleMatrix.ofUnsafe(sensi)));
        }