std::size_t stride {static_cast<std::size_t>(i) + 3};
for(std::size_t j {0}; j + stride < SecondaryStructuresStatusMap.size(); ++j){
if ( hasHBondBetween(j + stride, j) && NoChainBreaksBetween(j, j + stride) ){
std::size_t stride {static_cast<std::size_t>(i) + 3};
for(std::size_t j {0}; j + stride < SecondaryStructuresStatusMap.size(); ++j){
if ( hasHBondBetween(j + stride, j) && NoChainBreaksBetween(j, j + stride) ){
SecondaryStructuresStatusMap[j + stride].setStatus(HelixPositions::End, i);
for (std::size_t k {1}; k < stride; ++k){
SecondaryStructuresStatusMap[j + stride].setStatus(HelixPositions::End, i);
for (std::size_t k {1}; k < stride; ++k){