public virtual void EnsureFields() { var fields = FieldMapper.ToFields <T>(); foreach (var fieldInfo in fields) { if (FieldMapper.IsReadOnlyField(fieldInfo.Name) == false) { continue; // skip fields that cant be set } if (FieldMapper.IsFieldCanBeAdded(fieldInfo.Name) == false) { continue; } EnsureFieldImpl(fieldInfo); } }