public function filter(\Closure $cClosure)
    {
        $sClassName      = get_class($this);
        $aFilteredValues = array();
        foreach ($this->values as $sKey => $mValue) {
            if (true === $cClosure($mValue, $sKey)) {
                $aFilteredValues[$sKey] = $mValue;
            }
        }

        return new $sClassName($aFilteredValues);
    }