public StructureSchema(IStructureType type, IIdAccessor idAccessor = null, IConcurrencyTokenAccessor concurrencyTokenAccessor = null, ITimeStampAccessor timeStampAccessor = null, ICollection <IIndexAccessor> indexAccessors = null)
        {
            Ensure.That(type, "type").IsNotNull();

            Type       = type;
            IdAccessor = idAccessor;
            ConcurrencyTokenAccessor = concurrencyTokenAccessor;
            TimeStampAccessor        = timeStampAccessor;

            IndexAccessors = indexAccessors != null
                ? new List <IIndexAccessor>(indexAccessors)
                : new List <IIndexAccessor>();
        }
        public StructureSchema(IStructureType type, IIdAccessor idAccessor = null, IConcurrencyTokenAccessor concurrencyTokenAccessor = null, ITimeStampAccessor timeStampAccessor = null, ICollection<IIndexAccessor> indexAccessors = null)
        {
            Ensure.That(type, "type").IsNotNull();

            Type = type;
            IdAccessor = idAccessor;
            ConcurrencyTokenAccessor = concurrencyTokenAccessor;
            TimeStampAccessor = timeStampAccessor;

            IndexAccessors = indexAccessors != null 
                ? new List<IIndexAccessor>(indexAccessors)
                : new List<IIndexAccessor>();
        }