public function convertToSql(String $query, Parameters $parameterRepository) : StdClass
	{
		$stdClass = new StdClass();
		$stdClass->parameterValues = [];
		$placeholder = '?';
		$stdClass->query = '';
		$match = false;

		if (preg_match_all('/\:([^ ,]+)/s', $query, $matched)) {
			$stdClass->parameterValues = array_map(function($value) use ($parameterRepository, $matched) {
				$value = str_replace(',', '', $value);
				if ($parameterRepository->getParameter($value) == null) {
					throw new InvalidParameterCountException(
						'Number of parameters does not match length of proposed parameters.',
						$matched[1],
						$parameterRepository
					);
				}

				return $parameterRepository->getParameter($value);
			}, $matched[1]);
		}

		$stdClass->query = str_replace($matched[0], '?', $query);

		if (sizeof($stdClass->parameterValues) < 1) {
			$stdClass->parameterValues = array_values($parameterRepository->getAll());
		}

		return $stdClass;
	}