public function convertNewTypeSettableAttributes(array $data = null)
    {
        if (empty($data)) {
            return null;
        }
        $object = new NewTypeSettableAttributes();

        $object->populate(
            $data,
            array_combine(
                JSONConstants::getCapabilityNewTypeSettableAttributeKeys(),
                array_map(
                    function ($key) {
                        // add a prefix "canSet" to all keys as this are the property names
                        return 'canSet' . ucfirst($key);
                    },
                    JSONConstants::getCapabilityNewTypeSettableAttributeKeys()
                )
            ),
            true
        );

        $object->setExtensions(
            $this->convertExtension(
                $data,
                JSONConstants::getCapabilityNewTypeSettableAttributeKeys()
            )
        );

        return $object;
    }