In order to avoid two `m_borderPtrVec.load(...)` each call, how about
```C++
auto ptrVec = m_borderPtrVec.load(...);
if(!ptrVec) {
   ...
   if(!exchange) delete ptrVec;
   ptrVec = m_borderPtrVec.load(...);
}
ptr = (*ptrVec)[...];
```