code: def forward(self, input_ids, encoder_mask, return_mask=None):
      if return_mask is None:
          return_mask = self._return_mask
  
      embeddings = self._embedding(input_ids=input_ids)
  
      if (not self.arch) or (self.arch == "seq2seq"):
          encoder_hidden_states = self._encoder(
              encoder_states=embeddings, encoder_mask=encoder_mask
          )
          encoder_hidden_mask = encoder_mask
      else:
          encoder_hidden_states, encoder_hidden_mask = self._encoder(
              encoder_states=embeddings,
              encoder_mask=encoder_mask,
          )
  
      if return_mask:
          return encoder_hidden_states, encoder_hidden_mask
      else:
          return encoder_hidden_states
  
imports: from dataclasses import dataclass
  from typing import Dict, Optional
  from nemo.collections.nlp.modules.common.transformer.bridge_encoders import BridgeEncoder
  from nemo.collections.nlp.modules.common.transformer.perceiver_encoders import PerceiverEncoder
  from nemo.collections.nlp.modules.common.transformer.reduction_encoders import PoolingEncoder
  from nemo.collections.nlp.modules.common.transformer.transformer import NeMoTransformerConfig, TransformerDecoderNM, TransformerEncoderNM
  from nemo.core.classes.common import typecheck
  from nemo.core.neural_types import MaskType, NeuralType
  from nemo.core.neural_types.elements import BoolType
label_desc: Use image node_id 7 for calling the TransformerBottleneckEncoderNM obj's underlying member method code with example usage: obj.forward(input_ids, encoder_mask, return_mask) and returns: encoder_hidden_states,  encoder_hidden_mask, encoder_hidden_states