throws Throwable
throws IOException
  public Value unserializeKey(Env env)    throws Throwable  {    int ch = read();    switch (ch) {    case 's':      {        expect(':');        int len = (int) readInt();        expect(':');        expect('"');        StringValue v;        if (len < 32) {          _key.init(_buffer, _index, len);          v = _keyCache.get(_key);          if (v != null) {            _index += len;          }          else {            StringKey key = new StringKey(_buffer, _index, len);            String s = readString(len);            v = new InternStringValue(s);            _keyCache.put(key, v);          }        }        else {          String s = readString(len);          v = new StringValueImpl(s);        }        expect('"');        expect(';');        return v;      }    case 'i':      {        expect(':');        long value = readInt();        expect(';');        return LongValue.create(value);      }    default:      return BooleanValue.FALSE;    }  }