private async Task CreateAndSendCallMessageAsync(AnalysisInvocationExpession callInfo, 
                            MethodDescriptor realCallee, TypeDescriptor receiverType, PropagationKind propKind)
		{
			var callMessage = await CreateCallMessageAsync(callInfo, realCallee, receiverType, propKind);
			var callerMessage = new CallerMessage(this.EntityDescriptor, callMessage);
			var destination = EntityFactory.Create(realCallee, this.dispatcher);

			await this.SendMessageAsync(destination, callerMessage);
		}
		private async Task ProcessCallMessageAsync(CallerMessage callerMesssage)
		{
			Logger.Instance.Log("MethodEntityProcessor", "ProcessCallMessageAsync", callerMesssage);
			// Propagate this to the callee (RTA)
			this.MethodEntity.InstantiatedTypes.UnionWith(
				Demarshaler.Demarshal(callerMesssage.CallMessageInfo.InstantiatedTypes));
			// "Event" handler: Do the propagation of caller info
			await HandleCallEventAsync(callerMesssage.CallMessageInfo);
		}
        private void CreateAndSendCallMessage(AnalysisInvocationExpession callInfo, MethodDescriptor realCallee, 
            TypeDescriptor receiverType, PropagationKind propKind)
        {
            /// Here I have all the necessary info to update the callgraph
            ///
            var callMessage = CreateCallMessage(callInfo, realCallee, receiverType, propKind);
            var callerMessage = new CallerMessage(this.EntityDescriptor, callMessage);
            var destination = EntityFactory.Create(realCallee, this.dispatcher);

            this.SendMessage(destination, callerMessage);
        }