public function popChild()
    {
        // Rewind if current iterator is not valid
        if (! $this->children->valid() )
            $this->children->rewind();

        // If current iterator is still not valid it means there are no children anymore
        if (! $this->children->valid() )
            return false;

        $child = $this->children->current();
        $this->children->detach( $child );
        return $child;
    }