code: def getGUA(self, filterByPrefix=None):
          
          print '%s call getGUA' % self.port
          print filterByPrefix
          globalAddrs = []
          try:
              # get global addrs set if multiple
              globalAddrs = self.getGlobal()
  
              if filterByPrefix is None:
                  return globalAddrs[0]
              else:
                  for line in globalAddrs:
                      fullIp = ModuleHelper.GetFullIpv6Address(line)
                      if fullIp.startswith(filterByPrefix):
                          return fullIp
                  print 'no global address matched'
                  return str(globalAddrs[0])
          except Exception, e:
              ModuleHelper.WriteIntoDebugLogger("getGUA() Error: " + str(e))
docs: get expected global unicast IPv6 address of Thread device
  
          Args:
              filterByPrefix: a given expected global IPv6 prefix to be matched
  
          Returns:
              a global IPv6 address