/// <summary>
        /// Converts an FpML 'FloatingRateIndex' with multiple tenors to an {@code Index}.
        /// </summary>
        /// <param name="baseEl">  the FpML floating rate index element to parse </param>
        /// <returns> the index </returns>
        /// <exception cref="RuntimeException"> if unable to parse </exception>
        public IList <Index> parseIndexes(XmlElement baseEl)
        {
            XmlElement indexEl = baseEl.getChild("floatingRateIndex");

            validateScheme(indexEl, "floatingRateIndexScheme", "http://www.fpml.org/coding-scheme/floating-rate-index");
            FloatingRateName   floatingName = FloatingRateName.of(indexEl.Content);
            IList <XmlElement> tenorEls     = baseEl.getChildren("indexTenor");

            if (tenorEls.Count == 0)
            {
                return(ImmutableList.of(floatingName.toOvernightIndex()));
            }
            else
            {
//JAVA TO C# CONVERTER TODO TASK: Most Java stream collectors are not converted by Java to C# Converter:
                return(tenorEls.Select(el => floatingName.toIborIndex(parseIndexTenor(el))).collect(toImmutableList()));
            }
        }