CPDF_Object* CPDF_Array::CloneNonCyclic( bool bDirect, std::set<const CPDF_Object*>* pVisited) const { pVisited->insert(this); CPDF_Array* pCopy = new CPDF_Array(); for (size_t i = 0; i < GetCount(); i++) { CPDF_Object* value = m_Objects[i]; if (!pdfium::ContainsKey(*pVisited, value)) pCopy->m_Objects.push_back(value->CloneNonCyclic(bDirect, pVisited)); } return pCopy; }