public static Stella_Object accessSubstringPositionIteratorSlotValue(SubstringPositionIterator self, Symbol slotname, Stella_Object value, boolean setvalueP) {
    if (slotname == Logic.SYM_LOGIC_SUPER_STRING) {
      if (setvalueP) {
        self.superString = ((StringWrapper)(value)).wrapperValue;
      }
      else {
        value = StringWrapper.wrapString(self.superString);
      }
    }
    else if (slotname == Logic.SYM_LOGIC_SUB_STRING) {
      if (setvalueP) {
        self.subString = ((StringWrapper)(value)).wrapperValue;
      }
      else {
        value = StringWrapper.wrapString(self.subString);
      }
    }
    else if (slotname == Logic.SYM_STELLA_START) {
      if (setvalueP) {
        self.start = ((IntegerWrapper)(value)).wrapperValue;
      }
      else {
        value = IntegerWrapper.wrapInteger(self.start);
      }
    }
    else if (slotname == Logic.SYM_LOGIC_SUB_LENGTH) {
      if (setvalueP) {
        self.subLength = ((IntegerWrapper)(value)).wrapperValue;
      }
      else {
        value = IntegerWrapper.wrapInteger(self.subLength);
      }
    }
    else {
      { OutputStringStream stream000 = OutputStringStream.newOutputStringStream();

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