For bi-directional mapping:
```php
/**
 * @param array $namingMap     [string source => string destination] (hydration-oriented)
 * @param bool  $biDirectional reverse the namingMap for extraction
 */
public function __construct(array $namingMap, $biDirectional = false)
{
    $this->hydrationMap  = $namingMap;
    $this->extractionMap = $namingMap;
    if ($biDirectional) {
        $this->extractionMap = array_flip($namingMap);
    }
}
```