##### SUMMARY
`[WARNING]: Could not match supplied host pattern, ignoring: <group_name>` is printed prior to the first play for a non-empty group when using a combination of group_by and import_role/import_tasks/include_tasks. Using include_role however works correctly (no warning is displayed).

##### ISSUE TYPE
- Bug Report

##### COMPONENT NAME
ansible-playbook

##### ANSIBLE VERSION
<!--- Paste verbatim output from "ansible --version" between quotes -->
```
ansible 2.9.4
  config file = /etc/ansible/ansible.cfg
  configured module search path = ['/home/vrevelas/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /home/vrevelas/ansible-warning-bug/venv/lib/python3.6/site-packages/ansible
  executable location = /home/vrevelas/ansible-warning-bug/venv/bin/ansible
  python version = 3.6.9 (default, Nov  7 2019, 10:44:02) [GCC 8.3.0]
```

##### CONFIGURATION
<!--- Paste verbatim output from "ansible-config dump --only-changed" between quotes -->
```
```

##### OS / ENVIRONMENT
Ubuntu 18.04 / Python 3.6.9

Note that this behaviour is not reproducible when using the same version of Ansible (2.9.4) and Python 2.7 as opposed to Python 3.

##### STEPS TO REPRODUCE
test.yml
```yaml
---
- hosts: localhost
  tasks:
    - name: Group
      group_by:
        key: test_{{ inventory_hostname }}

- hosts: test_localhost
  tasks:
    - name: Print
      import_tasks: test-tasks.yml
      # the below also trigger the warning - but note that it is not issued when include_role is used:
      # include_tasks: test-tasks.yml
      # import_role:
      #   name: test
```
test-tasks.yml
```yaml
- name: test
  debug:
    msg: hello
```
inventory
```
localhost
```

##### EXPECTED RESULTS
No warning should be printed at the beginning of the output. Replacing `import_tasks` with an `include_role` produces the expected result (no warning).

##### ACTUAL RESULTS
A false-positive warning is printed at the beginning of the output.

Note that the same version of Ansible (2.9.4) installed and run under Python 2.7.17 does not print the false positive warning.
```
ansible-playbook -i inventory test.yml
[WARNING]: Could not match supplied host pattern, ignoring: test_localhost


PLAY [localhost] ****************************************************************************************

TASK [Gathering Facts] **********************************************************************************
ok: [localhost]

TASK [Group] ********************************************************************************************
ok: [localhost]

PLAY [test_localhost] ***********************************************************************************

TASK [Gathering Facts] **********************************************************************************
ok: [localhost]

TASK [test] *********************************************************************************************
ok: [localhost] => {
    "msg": "hello"
}

PLAY RECAP **********************************************************************************************
localhost                  : ok=4    changed=0    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0   
```

task/handler blocks to execute on a given set of hosts.
    Usage:
       Play.load(datastructure) -> Play
       Play.something(...)
    """
    
    _hosts = FieldAttribute(isa='list', required=True, listof=string_types, always_post_validate=True)
    
    _gather_facts = FieldAttribute(isa='bool', default=None, always_post_validate=True)
    _gather_subset = FieldAttribute(isa='list', default=(lambda: C.DEFAULT_GATHER_SUBSET), listof=string_types, always_post_validate=True)
    _gather_timeout = FieldAttribute(isa='int', default=C.DEFAULT_GATHER_TIMEOUT, always_post_validate=True)
    _fact_path = FieldAttribute(isa='string', default=C.DEFAULT_FACT_PATH)
    
    _vars_files = FieldAttribute(isa='list', default=list, priority=99)
    _vars_prompt = FieldAttribute(isa='list', default=list, always_post_validate=False)
    
    _roles = FieldAttribute(isa='list', default=list, priority=90)
    
    _handlers = FieldAttribute(isa='list', default=list)
    _pre_tasks = FieldAttribute(isa='list', default=list)
    _post_tasks = FieldAttribute(isa='list', default=list)
    _tasks = FieldAttribute(isa='list', default=list)
    
    _force_handlers = FieldAttribute(isa='bool', default=context.cliargs_deferred_get('force_handlers'), always_post_validate=True)
    _max_fail_percentage = FieldAttribute(isa='percent', always_post_validate=True)
    _serial = FieldAttribute(isa='list', default=list, always_post_validate=True)
    _strategy = FieldAttribute(isa='string', default=C.DEFAULT_STRATEGY, always_post_validate=True)
    _order = FieldAttribute(isa='string', always_post_validate=True)
    
    def __init__(self):