int edgesMapSize = edgesMap.size();
int possibleMaxSize = edgesMapSize + potentialNewEdges;
if(prefixesMap == null){
prefixesMap = new ArrayList[possibleMaxSize];
propagatedPrefixes = new BitSet();
}else{
if(prefixesMap.length < possibleMaxSize){
ArrayList<Link>[] oldPrefixesMap = prefixesMap;
prefixesMap = new ArrayList[possibleMaxSize];
System.arraycopy(oldPrefixesMap, 0, prefixesMap, 0, edgesMapSize);
}
if(propagatedPrefixes == null){
propagatedPrefixes = new BitSet();
}else{
propagatedPrefixes.enlargeTo(possibleMaxSize);
}
}