public static Symbol destructureMethodNameTree(Stella_Object nametree, Object [] MV_returnarray) {
    { Surrogate testValue000 = Stella_Object.safePrimaryType(nametree);

      if (testValue000 == Stella.SGT_STELLA_CONS) {
        { Cons nametree000 = ((Cons)(nametree));

          if (!Stella_Object.symbolP(nametree000.value)) {
            { Object old$PrintreadablyP$000 = Stella.$PRINTREADABLYp$.get();

              try {
                Native.setBooleanSpecial(Stella.$PRINTREADABLYp$, true);
                Stella.signalTranslationError();
                if (!(Stella.suppressWarningsP())) {
                  Stella.printErrorContext(">> ERROR: ", Stella.STANDARD_ERROR);
                  {
                    Stella.STANDARD_ERROR.nativeStream.println();
                    Stella.STANDARD_ERROR.nativeStream.println(" Illegal method name: `" + Stella_Object.deUglifyParseTree(nametree000) + "'.");
                  }
;
                }

              } finally {
                Stella.$PRINTREADABLYp$.set(old$PrintreadablyP$000);
              }
            }
            { Symbol _return_temp = null;

              MV_returnarray[0] = null;
              return (_return_temp);
            }
          }
          if (nametree000.rest.value == Stella.SYM_STELLA_SETTER) {
            { Symbol _return_temp = Symbol.yieldSetterMethodName(((Symbol)(nametree000.value)));

              MV_returnarray[0] = Stella.NIL;
              return (_return_temp);
            }
          }
          else {
            { Symbol _return_temp = ((Symbol)(nametree000.value));

              MV_returnarray[0] = nametree000.rest;
              return (_return_temp);
            }
          }
        }
      }
      else if (Surrogate.subtypeOfSymbolP(testValue000)) {
        { Symbol nametree000 = ((Symbol)(nametree));

          { Symbol _return_temp = nametree000;

            MV_returnarray[0] = Stella.NIL;
            return (_return_temp);
          }
        }
      }
      else {
        { Object old$PrintreadablyP$001 = Stella.$PRINTREADABLYp$.get();

          try {
            Native.setBooleanSpecial(Stella.$PRINTREADABLYp$, true);
            Stella.signalTranslationError();
            if (!(Stella.suppressWarningsP())) {
              Stella.printErrorContext(">> ERROR: ", Stella.STANDARD_ERROR);
              {
                Stella.STANDARD_ERROR.nativeStream.println();
                Stella.STANDARD_ERROR.nativeStream.println(" Illegal method name: `" + Stella_Object.deUglifyParseTree(nametree) + "'.");
              }
;
            }

          } finally {
            Stella.$PRINTREADABLYp$.set(old$PrintreadablyP$001);
          }
        }
        { Symbol _return_temp = null;

          MV_returnarray[0] = null;
          return (_return_temp);
        }
      }
    }
  }