Hydrator contains two responsibilities it is Hydration and Extraction, my suggestion is to segregate this responsibilities at least with Interfaces.
Renamed interface and extract HydrationInterface
Merge pull request #4908 from Spalax/refoctoring_extract_interface

Segregation HydratorInterface
Merge branch 'feature/4908' into develop

Close #4908