public function toDataTransferObject(string $root, array $schema, array $transformations, $path='')
    {
        $entities = new DatamapperCollection;

        foreach ($this->items as $name => $item) {
            $entities->put($name, $item->toDataTransferObject($root, $schema, $transformations, $path));
        }

        return $entities;
    }