@Override
			public void action() {
				// TODO Auto-generated method stub
				ACLMessage msg = myAgent.receive();
				
				if(msg != null) {
					ACLMessage reply = msg.createReply();
					
					//Check to see if the message performative is a Request type
					if(msg.getPerformative() == ACLMessage.REQUEST) {
						String content = msg.getContent();
						if((content != null) && (content.indexOf("PS:") != -1)) {
							myLogger.log(Logger.INFO, "Agent "+getLocalName()+" - Received SOLUTION/PS Request from "+msg.getSender().getLocalName());
							myLogger.log(Logger.INFO, "Agent "+getLocalName()+" - Received the following Solution/PS Request "+ msg.getContent());
							
							//Check to see if the Problem Can be Solved - Solution?
							
							reply.setPerformative(ACLMessage.INFORM);
							reply.setContent("pong");
						} else {
							myLogger.log(Logger.INFO, "Agent "+getLocalName()+" - Unexpected request ["+content+"] received from "+msg.getSender().getLocalName());
							reply.setPerformative(ACLMessage.REFUSE);
							reply.setContent("( UnexpectedContent ("+content+"))");
						} //END IF-ELSE content evaluation
					} else {
						//Indicate that the Behaviour does not understand the specified message
						myLogger.log(Logger.INFO, "Agent "+getLocalName()+" - Unexpected message ["+ACLMessage.getPerformative(msg.getPerformative())+"] received from "+msg.getSender().getLocalName());
						reply.setPerformative(ACLMessage.NOT_UNDERSTOOD);
						reply.setContent("( (Unexpected-act "+ACLMessage.getPerformative(msg.getPerformative())+") )");  
					}//END IF-ELSE Performative
					//Send a reply
					send(reply);
				} else {
					block();
				}//END IF-ELSE msg != null
			}