class NetworkSessionController implements ParseSessionController {

  @Override
  public Task<ParseObject.State> getSessionAsync(String sessionToken) {
    ParseRESTSessionCommand command =
        ParseRESTSessionCommand.getCurrentSessionCommand(sessionToken);

    return command.executeAsync(client).onSuccess(new Continuation<JSONObject, ParseObject.State>() {
      @Override
      public ParseObject.State then(Task<JSONObject> task) throws Exception {
        JSONObject result = task.getResult();
        return coder.decode(new ParseObject.State.Builder("_Session"), result, ParseDecoder.get())
            .isComplete(true)
            .build();
      }
    });
  }

  public  NetworkSessionController(ParseHttpClient client);

}