@Override
  public void sendRequest(
      final Context context,
      final URLConnection connection,
      final RequestDescription requestDescription)
      throws IOException {
    final LinkedList<ParameterValue> parameters = new LinkedList<ParameterValue>();
    for (final Parameter p : requestDescription.getSimpleParameters().getChildren()) {
      if (p instanceof ParameterValue) {
        parameters.add((ParameterValue) p);
      }
    }
    final String encoding = requestDescription.getEncoding().name();
    final byte[] content = URLEncodedUtils.format(parameters, encoding).getBytes(encoding);

    final OutputStream stream = connection.getOutputStream();
    stream.write(content);
    stream.flush();

    if (DEBUG) {
      Log.d(TAG, "(" + requestDescription.getId() + ")" + ": " + parameters.toString());
    }
  }