/// <summary>
        /// Write out the default serializable data, after ensuring the
        /// <code>zoneStrings</code> field is initialized in order to make
        /// sure the backward compatibility.
        ///
        /// @since 1.6
        /// </summary>
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in .NET:
//ORIGINAL LINE: private void writeObject(java.io.ObjectOutputStream stream) throws java.io.IOException
        private void WriteObject(ObjectOutputStream stream)
        {
            if (ZoneStrings_Renamed == null)
            {
                ZoneStrings_Renamed = TimeZoneNameUtility.getZoneStrings(Locale);
            }
            stream.DefaultWriteObject();
        }
        private String[][] GetZoneStringsImpl(bool needsCopy)
        {
            if (ZoneStrings_Renamed == null)
            {
                ZoneStrings_Renamed = TimeZoneNameUtility.getZoneStrings(Locale);
            }

            if (!needsCopy)
            {
                return(ZoneStrings_Renamed);
            }

            int len = ZoneStrings_Renamed.Length;

            String[][] aCopy = new String[len][];
            for (int i = 0; i < len; i++)
            {
                aCopy[i] = Arrays.CopyOf(ZoneStrings_Renamed[i], ZoneStrings_Renamed[i].Length);
            }
            return(aCopy);
        }