public static Stella_Object rewrapArgument(Stella_Object argument) {
    { Stella_Object wrapper = null;

      { Surrogate testValue000 = Stella_Object.safePrimaryType(argument);

        if (Surrogate.subtypeOfIntegerP(testValue000)) {
          { IntegerWrapper argument000 = ((IntegerWrapper)(argument));

            { int value = argument000.wrapperValue;

              wrapper = Logic.$INTEGER_LOGIC_WRAPPER_TABLE$.lookup(value);
              if (wrapper == null) {
                wrapper = IntegerLogicWrapper.newIntegerLogicWrapper(value);
                Logic.$INTEGER_LOGIC_WRAPPER_TABLE$.insertAt(value, wrapper);
              }
            }
          }
        }
        else if (Surrogate.subtypeOfFloatP(testValue000)) {
          { FloatWrapper argument000 = ((FloatWrapper)(argument));

            { double value = argument000.wrapperValue;

              wrapper = Logic.$FLOAT_LOGIC_WRAPPER_TABLE$.lookup(value);
              if (wrapper == null) {
                wrapper = FloatLogicWrapper.newFloatLogicWrapper(value);
                Logic.$FLOAT_LOGIC_WRAPPER_TABLE$.insertAt(value, wrapper);
              }
            }
          }
        }
        else if (Surrogate.subtypeOfStringP(testValue000)) {
          { StringWrapper argument000 = ((StringWrapper)(argument));

            { String value = argument000.wrapperValue;

              wrapper = Logic.$STRING_LOGIC_WRAPPER_TABLE$.lookup(value);
              if (wrapper == null) {
                wrapper = StringLogicWrapper.newStringLogicWrapper(value);
                Logic.$STRING_LOGIC_WRAPPER_TABLE$.insertAt(value, wrapper);
              }
            }
          }
        }
        else if (Surrogate.subtypeOfP(testValue000, Logic.SGT_STELLA_LITERAL_WRAPPER)) {
          { LiteralWrapper argument000 = ((LiteralWrapper)(argument));

            {
              System.out.println("Backlinking not implemented on literal of type: `" + argument000.primaryType() + "'");
              System.out.println();
            }
;
            return (argument000);
          }
        }
        else {
          { OutputStringStream stream000 = OutputStringStream.newOutputStringStream();

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