docs: def __parse_vcap_services_env_var(self, serviceInstanceName=None):
          """Parse the ``VCAP_SERVICES`` env var and search for the necessary
          values
          """
          vcapServices = os.environ.get(self.__VCAP_SERVICES_ENV_VAR)
  
          if not vcapServices:
              return (None, None, None, None, None)
  
          parsedVcapServices = json.loads(vcapServices)
  
          gpServicesInstances = []
          for serviceName in parsedVcapServices:
              if self.__gpServiceNameRegex.match(serviceName):
                  serviceInstances = parsedVcapServices.get(serviceName)
                  for serviceInstance in serviceInstances:
                      gpServicesInstances.append(serviceInstance)
  
          if not gpServicesInstances:
              return (None, None, None, None, None)
  
          targetGPServiceInstance = None
          # use first service if no name is provided
          if not serviceInstanceName:
              targetGPServiceInstance = gpServicesInstances[0]
          else:
              # search for service name
              for gpServiceInstance in gpServicesInstances:
                  if gpServiceInstance.get(self.__NAME_KEY)== serviceInstanceName:
                      targetGPServiceInstance = gpServiceInstance
                      break
  
          # service was not found
          if not targetGPServiceInstance:
              return  (None, None, None, None, None)
  
          credentials = targetGPServiceInstance.get(self.__CREDENTIALS_KEY)
  
          if not credentials:
              return (None, None, None, None, None)
  
          url = credentials.get(self.__URL_KEY)
          instanceId = credentials.get(self.__INSTANCE_ID_KEY)
          userId = credentials.get(self.__USER_ID_KEY)
          password = credentials.get(self.__PASSWORD_KEY)
          apiKey = credentials.get(self.__IAM_API_KEY_KEY)
  
          return (url, instanceId, userId, password, apiKey)