public function findOneByID($moduleName, $entityID, array $select = [ ])
    {
        $entityID = $this->wsClient->modules->getTypedID($moduleName, $entityID);
        $record = $this->wsClient->invokeOperation('retrieve', [ 'id' => $entityID ], 'GET');
        if (!is_array($record)) {
            return null;
        }

        return (empty($select))
            ? $record
            : array_intersect_key($record, array_flip($select));
    }