private void Recieve_CPA(Message message) throws Exception{
				

		 CPA cpa = message.cpa();
		System.out.println(ID +"is running and AV is "+ AgentView + " and AV_consi is " + AgentView_consistent );	

		 if(!AgentView_consistent){
			 if(cpa.contains(AgentView)){
				 	
				 backtrack(cpa);
			 }
			 else{
				 AgentView_consistent=true;
			 }
		 }
		 if(AgentView_consistent){
			 if(message.type() == "Backtrack_CPA"){
				 cpa.remove_assignment();
				 assignCPA(cpa);
			 }
			 else{
				 if(updateAgentView(cpa)){
					 
					 assignCPA(cpa);
				 }
				 else{
					 System.out.println(ID +"is running and AV is "+ AgentView + " and cpa  is " + cpa+ " func recieve cpa" );
					 backtrack(cpa);
				 }
			 }
		 }
		 
			 
		 
	 }