code: public function get($id)
      {
          if (!is_string($id) || empty($id)) {
              throw new BeanException('Id must be a non-empty string.');
          }
  
          $instance = null;
  
          try {
              if (is_callable([$this->beanConfig, $id])) {
                  $instance = $this->beanConfig->$id();
              } elseif ($this->beanConfig->hasAlias($id)) {
                  $instance = $this->beanConfig->getAlias($id);
              }
          } catch (\Throwable $e) {
              $message = sprintf(
                  'Exception occurred while instantiating "%s": %s',
                  $id,
                  $e->getMessage()
              );
  
              throw new BeanException($message, $e->getCode(), $e);
          }
  
          if (null === $instance) {
              throw new BeanNotFoundException(sprintf('"%s" is not defined!', $id));
          }
  
          return $instance;
      }
docs: {@inheritDoc}
  @throws BeanException
  @throws BeanNotFoundException