static private void SetValue_Generic(this SerializedProperty item, object value) { if (value.IsNotNull()) { item.GetImmediateChildren(false).Process(p => p.SetValue(p.GetRelativeVariable(item).GetContents(value))); } else { item.ClearValue(); } }