public function getBy(\Closure $callback)
    {
        $instanceCopy = $this->getNewCollection();
        foreach ($this as $offset => $entity) {
            if ($callback($entity)) {
                $instanceCopy->append($entity);
            }
        }

        return $instanceCopy;
    }