code: def hydrate_bundles(bundles_field, glob_match_error_behavior):
    
    path_globs_with_match_errors = [
      pg.copy(glob_match_error_behavior=glob_match_error_behavior)
      for pg in bundles_field.path_globs_list
    ]
    snapshot_list = yield [Get(Snapshot, PathGlobs, pg) for pg in path_globs_with_match_errors]
  
    spec_path = bundles_field.address.spec_path
  
    bundles = []
    zipped = zip(bundles_field.bundles,
                 bundles_field.filespecs_list,
                 snapshot_list)
    for bundle, filespecs, snapshot in zipped:
      rel_spec_path = getattr(bundle, 'rel_path', spec_path)
      kwargs = bundle.kwargs()
      # NB: We `include_dirs=True` because bundle filesets frequently specify directories in order
      # to trigger a (deprecated) default inclusion of their recursive contents. See the related
      # deprecation in `pants.backend.jvm.tasks.bundle_create`.
      kwargs['fileset'] = _eager_fileset_with_spec(rel_spec_path,
                                                   filespecs,
                                                   snapshot,
                                                   include_dirs=True)
      bundles.append(BundleAdaptor(**kwargs))
    yield HydratedField('bundles', bundles)
docs: Given a BundlesField, request Snapshots for each of its filesets and create BundleAdaptors.