/** Inserts the location to the argument; if already exists, overwrite. */
  public boolean putLoc(PBLoc pbLoc) {
    for (PBLoc loc : pb_locs) {
      if (loc.contains(pbLoc)) {
        loc.type = pbLoc.type;
        return true;
      } else if (pbLoc.contains(loc)) {
        loc.copy(pbLoc);
        return true;
      }
    }

    return pb_locs.add(pbLoc);
  }