def _cond_update(self, first, second, symbol, maxadd = -1):
        """Overwrites the keys and values in the first dictionary with those
        of the second as long as the symbol matches part of the key.

        :arg maxadd: specifies a limit on the number of entries from the second
          dict that will be added to the first."""
        if symbol != "":
            added = 0
            for key in second:
                if self._symbol_in(symbol, key) and (maxadd == -1 or added <= maxadd):
                    first[key] = second[key]
                    added += 1
        else:
            first.update(second)
Overwrites the keys and values in the first dictionary with those
        of the second as long as the symbol matches part of the key.

        :arg maxadd: specifies a limit on the number of entries from the second
          dict that will be added to the first.