Parsed: 133107

  public function get_autosave_rest_controller() {
    if ( ! $this->show_in_rest ) {
      return null;
    }

    if ( 'attachment' === $this->name ) {
      return null;
    }

    $class = $this->autosave_rest_controller_class ? $this->autosave_rest_controller_class : WP_REST_Autosaves_Controller::class;

    if ( ! class_exists( $class ) ) {
      return null;
    }

    if ( ! is_subclass_of( $class, WP_REST_Controller::class ) ) {
      return null;
    }

    if ( ! $this->autosave_rest_controller ) {
      $this->autosave_rest_controller = new $class( $this->name );
    }

    if ( ! ( $this->autosave_rest_controller instanceof $class ) ) {
      return null;
    }

    return $this->autosave_rest_controller;
  }