protected function defineAttributes(NodeBuilder $builder)
    {
        $builder->arrayNode('attributes')
            ->useAttributeAsKey('')
            ->prototype('array')
            ->children()

            ->scalarNode('type')
                ->cannotBeEmpty()
            ->end()

            ->scalarNode('getter')
                ->cannotBeEmpty()
            ->end()

            ->scalarNode('setter')
                ->cannotBeEmpty()
            ->end()

            ->booleanNode('processNull')
                ->defaultFalse()
            ->end();
    }