* @return GeneralizedSymbol
   */
  public static GeneralizedSymbol internStellaName(String name) {
    { Module module = ((Module)(Stella.$MODULE$.get()));

      { String barename = null;
        String modulename = null;
        Keyword kind = null;

        { Object [] caller_MV_returnarray = new Object[2];

          barename = Stella.parseStellaName(name, true, caller_MV_returnarray);
          modulename = ((String)(((StringWrapper)(caller_MV_returnarray[0])).wrapperValue));
          kind = ((Keyword)(caller_MV_returnarray[1]));
        }
        if (modulename != null) {
          module = Stella.getStellaModule(modulename, true);
        }
        if (kind == Stella.KWD_SYMBOL) {
          if (((Boolean)(Stella.$TRANSIENTOBJECTSp$.get())).booleanValue() &&
              (modulename == null)) {
            return (Stella.internTransientSymbol(barename));
          }
          else {
            return (Symbol.internSymbolInModule(barename, module, false));
          }
        }
        else if (kind == Stella.KWD_SURROGATE) {
          return (Surrogate.internSurrogateInModule(barename, module, false));
        }
        else if (kind == Stella.KWD_KEYWORD) {
          return (GeneralizedSymbol.internRigidSymbolWrtModule(barename, null, Stella.KEYWORD_SYM));
        }
        else {
          { OutputStringStream stream000 = OutputStringStream.newOutputStringStream();

            stream000.nativeStream.print("`" + kind + "' is not a valid case option");
            throw ((StellaException)(StellaException.newStellaException(stream000.theStringReader()).fillInStackTrace()));
          }
        }
      }
    }
  }