public static StringWrapper parseConfigurationFileLine(String line, Object [] MV_returnarray) {
    { int start = 0;
      int hashpos = Native.string_position(line, '#', 0);
      int equalpos = Native.string_position(line, '=', 0);
      int end = equalpos;
      int length = line.length();
      String property = null;
      String valuestring = null;
      Stella_Object value = null;
      Keyword operator = Stella.KWD_SET;

      { boolean alwaysP000 = true;

        { int i = Stella.NULL_INTEGER;
          int iter000 = 0;
          int upperBound000 = (((hashpos != Stella.NULL_INTEGER) ? hashpos : length)) - 1;

          loop000 : for (;iter000 <= upperBound000; iter000 = iter000 + 1) {
            i = iter000;
            if (!(Stella.$CHARACTER_TYPE_TABLE$[(int) (line.charAt(i))] == Stella.KWD_WHITE_SPACE)) {
              alwaysP000 = false;
              break loop000;
            }
          }
        }
        if (alwaysP000) {
          { StringWrapper _return_temp = null;

            MV_returnarray[0] = null;
            MV_returnarray[1] = null;
            return (_return_temp);
          }
        }
      }
      if ((equalpos == Stella.NULL_INTEGER) ||
          (equalpos == 0)) {
        Stella.STANDARD_WARNING.nativeStream.println("Warning: Illegal line in configuration file: `" + line + "'");
        { StringWrapper _return_temp = null;

          MV_returnarray[0] = null;
          MV_returnarray[1] = null;
          return (_return_temp);
        }
      }
      while (Stella.$CHARACTER_TYPE_TABLE$[(int) (line.charAt(start))] == Stella.KWD_WHITE_SPACE) {
        start = start + 1;
      }
      if (line.charAt((end - 1)) == '+') {
        operator = Stella.KWD_ADD;
        end = end - 1;
      }
      while (Stella.$CHARACTER_TYPE_TABLE$[(int) (line.charAt((end - 1)))] == Stella.KWD_WHITE_SPACE) {
        end = end - 1;
      }
      if (end <= start) {
        Stella.STANDARD_WARNING.nativeStream.println("Warning: Illegal property in configuration file: `" + line + "'");
        { StringWrapper _return_temp = null;

          MV_returnarray[0] = null;
          MV_returnarray[1] = null;
          return (_return_temp);
        }
      }
      property = Native.string_subsequence(line, start, end);
      valuestring = Native.string_subsequence(line, equalpos + 1, length);
      if (Stella.stringEqualP(valuestring, "TRUE")) {
        value = Stella.TRUE_WRAPPER;
      }
      else if (Stella.stringEqualP(valuestring, "FALSE")) {
        value = Stella.FALSE_WRAPPER;
      }
      else {
        try {
          { Surrogate testValue000 = Stella_Object.safePrimaryType(value = Stella.readSExpressionFromString(valuestring));

            if (Surrogate.subtypeOfIntegerP(testValue000) ||
                (Surrogate.subtypeOfLongIntegerP(testValue000) ||
                 Surrogate.subtypeOfFloatP(testValue000))) {
            }
            else {
              value = StringWrapper.wrapString(valuestring);
            }
          }
        } catch (ReadException e000) {
          value = StringWrapper.wrapString(valuestring);
        }
      }
      { StringWrapper _return_temp = StringWrapper.wrapString(property);

        MV_returnarray[0] = ((Wrapper)(value));
        MV_returnarray[1] = operator;
        return (_return_temp);
      }
    }
  }