parameters: (self, attr)
docstring: Intercepts calls to attributes and methods of the proxied node and
          returns the appropriate object(s).
  
          Args:
              attr (str): The name of the attribute or method of the proxied
                  node the user wants to access.
docstring_summary: Intercepts calls to attributes and methods of the proxied node and
          returns the appropriate object(s).
docstring_tokens: Intercepts calls to attributes and methods of the proxied node and returns the appropriate object ( s ) .
function: def __getattr__(self, attr):
          """
          Intercepts calls to attributes and methods of the proxied node and
          returns the appropriate object(s).
  
          Args:
              attr (str): The name of the attribute or method of the proxied
                  node the user wants to access.
          """
  
          # if attr is a supported operation, start
          # operation and node creation
          if attr in self.proxied_node.get_head().backend.supported_operations:
              self.proxied_node._new_op_name = attr  # Stores new operation name
              return self._create_new_op
          else:
              try:
                  return getattr(self.proxied_node, attr)
              except AttributeError:
                  if self.proxied_node.operation:
                      msg = "'{0}' object has no attribute '{1}'".format(
                          str(self.proxied_node.operation.name),
                          attr
                      )
                  else:
                      msg = "'RDataFrame' object has no attribute '{}'".format(
                          attr
                      )
                  raise AttributeError(msg)
function_tokens: def __getattr__ ( self , attr ) : # if attr is a supported operation, start # operation and node creation if attr in self . proxied_node . get_head ( ) . backend . supported_operations : self . proxied_node . _new_op_name = attr # Stores new operation name return self . _create_new_op else : try : return getattr ( self . proxied_node , attr ) except AttributeError : if self . proxied_node . operation : msg = "'{0}' object has no attribute '{1}'" . format ( str ( self . proxied_node . operation . name ) , attr ) else : msg = "'RDataFrame' object has no attribute '{}'" . format ( attr ) raise AttributeError ( msg )