Var DynamicObjectPropertyEnumerator::MoveAndGetNext(PropertyId& propertyId, PropertyAttributes * attributes)
 {
     if (this->cachedData && this->initialType == this->object->GetDynamicType())
     {
         return MoveAndGetNextWithCache(propertyId, attributes);
     }
     if (this->object)
     {
         return MoveAndGetNextNoCache(propertyId, attributes);
     }
     return nullptr;
 }
 JavascriptString * DynamicObjectPropertyEnumerator::MoveAndGetNext(PropertyId& propertyId, PropertyAttributes * attributes)
 {
     propertyId = Js::Constants::NoProperty;
     if (this->cachedData && this->initialType == this->object->GetDynamicType())
     {
         return MoveAndGetNextWithCache(propertyId, attributes);
     }
     if (this->object)
     {
         // Once enters NoCache path, ensure never switches to Cache path above.
         this->cachedData = nullptr;
         return MoveAndGetNextNoCache(propertyId, attributes);
     }
     return nullptr;
 }