Represents a clock.
Inheritance: ELTE.AEGIS.Temporal.Reference.TemporalReferenceSystem
        /// <summary>
        /// Initializes a new instance of the <see cref="CompoundTemporalReferenceSystem" /> class.
        /// </summary>
        /// <param name="identifier">The identifier.</param>
        /// <param name="name">The name.</param>
        /// <param name="calendar">The calendar.</param>
        /// <param name="clock">The clock.</param>
        /// <exception cref="System.ArgumentNullException">
        /// The identifier is null.
        /// or
        /// The calendar is null.
        /// or
        /// The clock is null.
        /// </exception>
        public CompoundTemporalReferenceSystem(String identifier, String name, Calendar calendar, Clock clock)
            : this(identifier, name, null, null, null, calendar, clock)
        {
            if (calendar == null)
            {
                throw new ArgumentNullException("calendar", "The calendar is null.");
            }
            if (clock == null)
            {
                throw new ArgumentNullException("clock", "The clock is null.");
            }

            _calendar = calendar;
            _clock    = clock;
        }
        /// <summary>
        /// Initializes a new instance of the <see cref="CompoundTemporalReferenceSystem" /> class.
        /// </summary>
        /// <param name="identifier">The identifier.</param>
        /// <param name="name">The name.</param>
        /// <param name="remarks">The remarks.</param>
        /// <param name="aliases">The aliases.</param>
        /// <param name="scope">The scope.</param>
        /// <param name="calendar">The calendar.</param>
        /// <param name="clock">The clock.</param>
        /// <exception cref="System.ArgumentNullException">
        /// The identifier is null.
        /// or
        /// The calendar is null.
        /// or
        /// The clock is null.
        /// </exception>
        public CompoundTemporalReferenceSystem(String identifier, String name, String remarks, String[] aliases, String scope, Calendar calendar, Clock clock)
            : base(identifier, name, remarks, aliases, scope)
        {
            if (calendar == null)
            {
                throw new ArgumentNullException("calendar", "The calendar is null.");
            }
            if (clock == null)
            {
                throw new ArgumentNullException("clock", "The clock is null.");
            }

            _calendar = calendar;
            _clock    = clock;
        }