anchor.diff:      SharedPreferences.getInstance().then((sp) {
         _performChangeUser(sp.getString(DatabaseKeys.USER) ??
             CodeWarsAPI.getErrorWithReason("not set"));
  -      _performChangeFriends(sp.getStringSet(DatabaseKeys.FRIENDS) ?? const[]);
  +      Set<String> us = sp.getStringSet(DatabaseKeys.FRIENDS) ?? [];
  +      _performChangeFriends(us.map((s) => sp.getString(DatabaseKeys.friendData(s))).toList());
       });
     }
   
  
positive.code:   @override
    Widget build(BuildContext context) {
      if (null != _user) {
        List<Widget> list = _getUserInfoView();
        _user.langsRank.forEach((rank) {
          list.add(new ListTile(
              dense: true,
              title: new Text(
                  "${rank.lang}\n",
                  style: new TextStyle(color: _importantColor,
                      fontSize: 18.0)),
              trailing: new Text(
                  "${rank.score} <${rank.name}>",
  
negative.code:       Map json = new JsonDecoder(null).convert(_json);
        var reason = json['reason'];
        if (null != reason) {
          setState(() => onError(reason));
          return null;
        } else
          return new CodeWarsUser.fromJson(json);
      } catch (e) {
        setState(() => onError(e));
        return null;
      }
    }
  
    _performChangeUser(String _json) {
      CodeWarsUser user = _json2user(_json, onError: (msg) => _me.displayWhenEmpty = msg);
      showDialog(context: context, child: new Text(user.username));
      setState(() => _user = user);
    }
  
  