private void InvokeCallbacksAndExecute(object o, Action<object> action) { try { if(preSerializationCallback != null) { preSerializationCallback(o); } action(o); } finally { if(postSerializationCallback != null) { postSerializationCallback(o); } } }