public function insertBefore($element)
    {
        $e = self::create($element);
        $newnodes = array();
        foreach ($e as $i => $node) {
            /** @var \DOMNode $node */
            foreach ($this as $newnode) {
                /** @var \DOMNode $newnode */
                $newnode = static::importNewnode($newnode, $node, $i);
                if ($newnode !== $node) {
                    $node->parentNode->insertBefore($newnode, $node);
                }
                $newnodes[] = $newnode;
            }
        }
        return self::create($newnodes);
    }