final public function objectPropertiesToCamel($snakeObject)
    {
        // hold the object of new values
        $camelObject = new \stdClass();
        foreach ($snakeObject as $key => $value) {
            // tricky recursive for objects or arrays
            if (is_object($value)) {
                $value = $this->objectPropertiesToCamel($value);
            } elseif (is_array($value)) {
                $value = $this->arrayKeysToCamel($value);
            }
            $camelObject->{$this->camelize($key)} = $value;
            unset($snakeObject[$key]);
        }
        return $camelObject;
    }