protected function filter_by_key( $values ) {

		if ( count( $this->filters_by_key ) < 1 ) {

			return $values;
		}

		foreach ( $values as $key => $value ) {
			if ( ! is_scalar( $value ) || ! isset( $this->filters_by_key[ $key ] ) ) {
				continue;
			}
			/** @var FilterInterface[] */
			$filters = $this->filters_by_key[ $key ];
			foreach ( $filters as $filter ) {
				$values[ $key ] = $filter->filter( $value );
			}
		}

		return $values;
	}