def METHOD_NAME(actor_core: ActorCore,
               random_key: networks_lib.PRNGKey,
               variable_source: core.VariableSource,
               adder: Optional[adders.Adder] = None) -> core.Actor:
  """Creates an MBOP actor from an actor core.
  Args:
    actor_core: An MBOP actor core.
    random_key: JAX Random key.
    variable_source: The source to get networks parameters from.
    adder: An adder to add experiences to. The `extras` of the adder holds the
      state of the recurrent policy. If `has_extras=True` then the `extras` part
      returned from the recurrent policy is appended to the state before added
      to the adder.
  Returns:
    A recurrent actor.
  """
  variable_client = variable_utils.VariableClient(
      client=variable_source,
      key=['world_model-policy', 'policy_prior-policy', 'n_step_return-policy'])
  return actors.GenericActor(
      actor_core, random_key, variable_client, adder, backend=None)