code: def _post_sync(self, data):
      dataset_name = data["datasetName"]
      brain_key = data["brainKey"]
  
      dataset = fosu.load_and_cache_dataset(dataset_name)
      info = dataset.get_brain_info(brain_key)
  
      patches_field = info.config.patches_field
      is_patches_plot = patches_field is not None
  
      schema = dataset.get_field_schema(flat=True)
  
      if is_patches_plot:
          _, root = dataset._get_label_field_path(patches_field)
          root += "."
          schema = {
              k: v for k, v in schema.items() if k.startswith(root)
          }
  
      bad_roots = tuple(
          k + "."
          for k, v in schema.items()
          if isinstance(v, fof.ListField)
      )
  
      fields = [
          path
          for path, field in schema.items()
          if (
              (
                  isinstance(field, COLOR_BY_TYPES)
                  or (
                      isinstance(field, fof.ListField)
                      and isinstance(field.field, COLOR_BY_TYPES)
                  )
              )
              and not path.startswith(bad_roots)
          )
      ]
  
      return {"fields": fields}
  
imports: import itertools
  from starlette.endpoints import HTTPEndpoint
  from starlette.requests import Request
  import fiftyone.core.fields
  import fiftyone.core.stages
  from fiftyone.core.utils import run_sync_task
  from fiftyone.server.decorators import route
  import fiftyone.server.utils
  import fiftyone.server.view
  from fiftyone.server.filters import GroupElementFilter, SampleFilter
label_desc: Use image node_id 1 for calling the ColorByChoices obj's underlying member method code with example usage: obj._post_sync(data) and returns: dict