<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def GetChangeAddress(self, from_addr=None):
 """ Get the address where change is send to. Args: from_address (UInt160):
 (optional) from address script hash. Raises: Exception: if change address could not be found. Returns: UInt160: script hash. """

        if from_addr is not None:
            for contract in self._contracts.values():
                if contract.ScriptHash == from_addr:
                    return contract.ScriptHash

        for contract in self._contracts.values():
            if contract.IsStandard:
                return contract.ScriptHash

        if len(self._contracts.values()):
            for k, v in self._contracts.items():
                return v

        raise Exception("Could not find change address")