How to update serializedField showed on the inspector by script?

So, I have a serialized object which contain a component like this:

using UnityEngine;
using UnityEngine.UI;
using System.Collections;
using System.Collections.Generic;

[System.SerializableAttribute]
public class ControllerComponent : MonoBehaviour {

	public bool image = false;
	public bool quiz = false;
	public Vector3 originalRotation;

	[SerializeField]
	public float timeStamp;
	[SerializeField]
	public Sprite displayedImage;

Now, on [InitializeOnLoad] from other script I initialize the field “timeStamp” to 5. As I edit the xml file to get the data from, [InitializeOnLoad] will create another object with the above component. However, I don’t want to have duplicated components, so I want to get the data from the new component and update them to the old component, and then remove the new component.
When I print out something, I can see the data is updated to the old component, but nothing changes on the inspector. Here is how I did it:

    static void updateContent(Transform a, Transform b){  
    		ControllerComponent componentA = a.gameObject.GetComponent<ControllerComponent> ();
    		ControllerComponent componentB = b.gameObject.GetComponent<ControllerComponent> ();
    		EditorGUI.BeginChangeCheck ();
    		var serializedObjectA = new SerializedObject(componentA);	
    		var serializedObjectB = new SerializedObject(componentB);	
    		serializedObjectA.CopyFromSerializedProperty(serializedObjectB.FindProperty("timeStamp"));
    		if (EditorGUI.EndChangeCheck ()) {
    			serializedObjectA.ApplyModifiedProperties ();
    			EditorGUIUtility.LookLikeControls ();
    			EditorUtility.SetDirty (componentA);
    		}
    		Debug.Log("current Time " + serializedObjectA.FindProperty("timeStamp").floatValue);  
}

Can someone show me how to update it on the inspector please? Thank you!