public MethodEntity(MethodDescriptor methodDescriptor,
                     MethodInterfaceData mid,
                     PropagationGraph propGraph,
                     IEntityDescriptor descriptor,
                     IEnumerable <TypeDescriptor> instantiatedTypes,
                     IDictionary <AnonymousMethodDescriptor, MethodEntity> anonymousMethods,
                     CodeGraphModel.DeclarationAnnotation declarationInfo,
                     CodeGraphModel.SymbolReference referenceInfo)
     : this(methodDescriptor, mid, propGraph, descriptor, instantiatedTypes)
 {
     this.anonymousMethods = anonymousMethods;
     this.DeclarationInfo  = declarationInfo;
     this.ReferenceInfo    = referenceInfo;
 }
        /// <summary>
        /// We use this mapping as a cache of already computed callees info
        /// </summary>
        //public MethodEntityProcessor EntityProcessor { get; private set; }

        //public ISet<E> NodesProcessing = new HashSet<E>();
        //public ISet<CallConext<M,E>> NodesProcessing = new HashSet<CallConext<M,E>>();

        /// <summary>
        /// A method entity is built using the methods interface (params, return) and the propagation graph that is
        /// initially populated with the variables, parameters and calls of the method
        /// </summary>
        /// <param name="methodDescriptor"></param>
        /// <param name="mid"></param>
        /// <param name="propGraph"></param>
        /// <param name="instantiatedTypes"></param>
        public MethodEntity(MethodDescriptor methodDescriptor,
                            MethodInterfaceData mid,
                            PropagationGraph propGraph,
                            IEntityDescriptor descriptor,
                            IEnumerable <TypeDescriptor> instantiatedTypes,
                            bool canBeAnalyzed = true)
        {
            this.MethodDescriptor    = methodDescriptor;
            this.EntityDescriptor    = descriptor; // EntityFactory.Create(methodDescriptor);
            this.MethodInterfaceData = mid;

            this.propGraph         = propGraph;
            this.CanBeAnalized     = canBeAnalyzed;
            this.InstantiatedTypes = new HashSet <TypeDescriptor>(instantiatedTypes);
            this.anonymousMethods  = new Dictionary <AnonymousMethodDescriptor, MethodEntity>();
        }