public static String yieldClassObjectLookupNameForNativeType(String nativetype) {
    { String basetype = nativetype;
      String renamed_Package = "java.lang.";
      int arraydimensions = 0;
      int index = -1;
      int arraymarkerindex = Stella.NULL_INTEGER;

      { char ch = Stella.NULL_CHARACTER;
        String vector000 = nativetype;
        int index000 = 0;
        int length000 = vector000.length();
        int i = Stella.NULL_INTEGER;
        int iter000 = 0;

        for (;index000 < length000; index000 = index000 + 1, iter000 = iter000 + 1) {
          ch = vector000.charAt(index000);
          i = iter000;
          if (ch == '.') {
            index = i;
          }
          if (ch == '[') {
            if (arraymarkerindex == Stella.NULL_INTEGER) {
              arraymarkerindex = i;
            }
            arraydimensions = arraydimensions + 1;
          }
        }
      }
      if (index >= 0) {
        renamed_Package = Native.string_subsequence(nativetype, 0, index + 1);
      }
      basetype = Native.string_subsequence(nativetype, index + 1, arraymarkerindex);
      if (Stella.$JAVA_PRIMITIVE_ARRAY_TYPE_NAMES$.lookup(StringWrapper.wrapString(basetype)) != null) {
        basetype = ((StringWrapper)(Stella.$JAVA_PRIMITIVE_ARRAY_TYPE_NAMES$.lookup(StringWrapper.wrapString(basetype)))).wrapperValue;
      }
      else if (arraydimensions > 0) {
        basetype = "L" + renamed_Package + basetype + ";";
      }
      else {
        basetype = renamed_Package + basetype;
      }
      switch (arraydimensions) {
        case 0: 
          return (basetype);
        case 1: 
          return ("[" + basetype);
        case 2: 
          return ("[[" + basetype);
        default:
          return (Native.makeString(arraydimensions, '[') + basetype);
      }
    }
  }