public static Symbol destructureCallTree(Cons tree, Object [] MV_returnarray) {
    { GeneralizedSymbol testValue000 = ((GeneralizedSymbol)(tree.value));

      if (testValue000 == Stella.SYM_STELLA_SYS_CALL_FUNCTION) {
        { Symbol _return_temp = ((Symbol)(tree.rest.value));

          MV_returnarray[0] = null;
          MV_returnarray[1] = tree.rest.rest;
          return (_return_temp);
        }
      }
      else if (testValue000 == Stella.SYM_STELLA_SYS_CALL_METHOD) {
        { Symbol _return_temp = ((Symbol)(tree.rest.rest.value));

          MV_returnarray[0] = ((Surrogate)(tree.rest.value));
          MV_returnarray[1] = tree.rest.rest.rest;
          return (_return_temp);
        }
      }
      else {
        { Symbol _return_temp = ((Symbol)(tree.value));

          MV_returnarray[0] = null;
          MV_returnarray[1] = tree.rest;
          return (_return_temp);
        }
      }
    }
  }