public function hydrate($source)
    {
        /**
         * foreach element of the "source" try to find programmatically
         * the correct data model base in the property type and name.
         */
        foreach ($source as $key => $value) {
            $this->set($key, $value);
        }

        return $this;
    }
public function hydrate($source)
    {
        /**
         * foreach element of the "source" try to find programmatically
         * the correct data model base in the property type and name.
         */
        foreach ($source as $key => $value) {
            $this->set($key, $value);
        }

        return $this;
    }
public function hydrate ( $ source ) { /**
         * foreach element of the "source" try to find programmatically
         * the correct data model base in the property type and name.
         */ foreach ( $ source as $ key => $ value ) { $ this -> set ( $ key , $ value ) ; } return $ this ; }
Populate the object recursively
@param array|object $source
@return $this
Populate the object recursively