public function filter(callable $callback = null)
    {
        if (is_null($callback)) {
            $this->setInternalValue(array_filter($this->getInternalValue()));
        } else {
            $this->setInternalValue(array_filter($this->getInternalValue(), $callback, ARRAY_FILTER_USE_BOTH));
        }

        return $this;
    }