code: protected function getAttributeNames()
      {
          $arrAttributes = $this->objView->getSettingNames();
  
          // Get the right jumpTo.
          $strDesiredLanguage  = $this->getMetaModel()->getActiveLanguage();
          $strFallbackLanguage = $this->getMetaModel()->getFallbackLanguage();
  
          $intFilterSettings = 0;
  
          foreach ((array) $this->getView()->get('jumpTo') as $arrJumpTo) {
              // If either desired language or fallback, keep the result.
              if (!$this->getMetaModel()->isTranslated()
                  || $arrJumpTo['langcode'] == $strDesiredLanguage
                  || $arrJumpTo['langcode'] == $strFallbackLanguage) {
                  $intFilterSettings = $arrJumpTo['filter'];
                  // If the desired language, break. Otherwise try to get the desired one until all have been evaluated.
                  if ($strDesiredLanguage == $arrJumpTo['langcode']) {
                      break;
                  }
              }
          }
  
          if ($intFilterSettings) {
              $objFilterSettings = $this->getFilterFactory()->createCollection($intFilterSettings);
              $arrAttributes     = array_merge($objFilterSettings->getReferencedAttributes(), $arrAttributes);
          }
  
          return $arrAttributes;
      }
docs: Return all attributes that shall be fetched from the MetaModel.
  
  In this base implementation, this only includes the attributes mentioned in the render setting.
  
  @return string[] the names of the attributes to be fetched.