code: def _get_prefix_order_by_preference(prefixes, preference):
      preferred_prefixes = [
          prefix
          for prefix in prefixes
          if preference and preference in prefix
      ]
      nonpreferred_prefixes = [
          prefix
          for prefix in prefixes
          if not preference or preference not in prefix
      ]
      if nonpreferred_prefixes[-1] == "projection_":
          # remove projection as a prefix as it is our fallback
          nonpreferred_prefixes = nonpreferred_prefixes[:-1]
      return preferred_prefixes + nonpreferred_prefixes
  
imports: from __future__ import annotations
  import contextlib
  import datetime
  import logging
  import os
  import pathlib
  import warnings
  from contextlib import contextmanager
  from copy import deepcopy
  from typing import Literal, Mapping, Optional
  from urllib.parse import urlparse
  import dask.utils
  import numpy
  import xarray
  import yaml
  from yaml import BaseLoader, UnsafeLoader
  from satpy._compat import DTypeLike
label_desc: Use image node_id 19 for calling a global function with example usage: _get_prefix_order_by_preference(prefixes, preference) and returns: unknown