public function getChilds($pDbContainer, array $pArgs = array(), $pFirst = false)
    {
        Agl::validateParams(array(
            'RewritedString' => $pDbContainer
        ));

        if (! $this->getId()) {
            throw new Exception("getChilds: Item must exist in database");
        }

        $args = $pArgs;

        if (isset($args[DbInterface::FILTER_CONDITIONS]) and $args[DbInterface::FILTER_CONDITIONS] instanceof Conditions) {
            $conditions = $args[DbInterface::FILTER_CONDITIONS];
        } else {
            $conditions = new Conditions();
        }

        $conditions->addGroup(
            array(
                $this->getIdField(),
                Conditions::EQ,
                $this->getId()
            ),
            array(
                $this->getIdField(),
                Conditions::INSET,
                $this->getId()
            )
        );

        $args[DbInterface::FILTER_CONDITIONS] = $conditions;

        if ($pFirst) {
            $args[DbInterface::FILTER_LIMIT] = array(0, 1);
        }

        $collection = Agl::getCollection($pDbContainer);
        $collection->load($args);

        if ($pFirst) {
            if ($collection->count()) {
                return $collection->current();
            }

            return Agl::getModel($pDbContainer);
        }

        return $collection;
    }