public function put(array $values = [])
    {
        $this->qb->setQueryClass(PutItem::class);

        foreach ($values as $attributeName => $value) {
            $value = $this->value($value);

            if ($attributeName !== $this->qb->class->discriminatorAttribute) {
                $attribute     = $this->attr($attributeName);
                $mapping       = $attribute->getMapping();
                $attributeName = $mapping->attributeName;

                $value->setMapping($mapping);
            } else {
                $value->setMapping(null);
            }

            $this->put[$attributeName] = $value->getSerialized();
        }

        return $this->qb;
    }