private function getSerializableProtectedProperties()
    {
        $properties = array();
        foreach ($this->getProtectedPropertyList() as $property => $accessors) {
            // We want to maintain what is internally stored in this object so
            // we don't want to use the getter. What the getter returns
            // publicly may be different than what we have internally.
            $properties[$property] = $this->$property;
        }

        return $properties;
    }