public function getData($entity = array())
{
if ($this->accessor == null) {
$this->accessor = new PropertyAccessor();
}
foreach ($this->getFields() as $name => $field) {
if ($mapping = $field->getMappingName()) {
if (is_array($entity)) {
$entity[$mapping] = $field->getMappingValue();
} else {
$this->accessor->setValue($entity, $mapping, $field->getMappingValue());
}
}
}
return $entity;
}