public static Cons clTranslateNthTree(Cons tree) {
    { Symbol operator = null;
      Surrogate owner = null;
      Cons arguments = null;

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

        operator = Cons.destructureCallTree(tree, caller_MV_returnarray);
        owner = ((Surrogate)(caller_MV_returnarray[0]));
        arguments = ((Cons)(caller_MV_returnarray[1]));
      }
      { boolean setterP = operator == Stella.SYM_STELLA_NTH_SETTER;
        Stella_Object collection = arguments.value;
        Stella_Object position = arguments.last();
        Stella_Object value = (setterP ? arguments.rest.value : ((Stella_Object)(null)));

        if ((owner == Stella.SGT_STELLA_STRING) ||
            ((owner == Stella.SGT_STELLA_MUTABLE_STRING) ||
             (owner == Stella.SGT_STELLA_NATIVE_VECTOR))) {
          if ((owner == Stella.SGT_STELLA_NATIVE_VECTOR) ||
              Stella.methodCallInliningEnabledP()) {
            operator = Stella.internCommonLispSymbol("AREF");
            tree = Cons.cons(operator, Cons.cons(Stella_Object.clTranslateATree(collection), Cons.cons(Stella_Object.clTranslateATree(position), Stella.NIL)));
            if (setterP) {
              tree = Cons.list$(Cons.cons(Stella.internCommonLispSymbol("SETF"), Cons.cons(tree, Cons.cons(Cons.cons(Stella_Object.clTranslateATree(value), Stella.NIL), Stella.NIL))));
            }
            return (tree);
          }
        }
        else {
        }
        return (Symbol.clTranslateNormalCallMethodTree(operator, owner, arguments));
      }
    }
  }