public O Adapt(I item, C context)
        {
            O to = new O();

            propertyWriter.WriteProperties(to, item, context, false);
            return(to);
        }
        private OT WriteItem(OT existingItem, IT from, C context)
        {
            string itemId = "";

            validator.Validate(itemId, new ValidationEntity <OT, IT, C>()
            {
                toUpdate = existingItem, newItem = from, context = context
            });
            OT updated = existingItem ?? new OT();

            propertyWriter.WriteProperties(updated, from, context, true);
            return(updated);
        }