public static function createByTemplate($templateUri,  ResponseDeclaration $response,  Item $item)
    {
        $returnValue = null;

        
    switch ($templateUri) {
			case ResponseTemplate::MATCH_CORRECT :
				$returnValue = self::create(MatchCorrectTemplate::CLASS_ID, $response, $item);
				break;
			case ResponseTemplate::MAP_RESPONSE :
				$returnValue = self::create(MapResponseTemplate::CLASS_ID, $response, $item);
				break;
			case ResponseTemplate::MAP_RESPONSE_POINT :
				$returnValue = self::create(MapResponsePointTemplate::CLASS_ID, $response, $item);
				break;
			default :
				throw new ParsingException('Cannot create interactionResponseProcessing for unknown Template '.$templateUri);
		}
        

        return $returnValue;
    }