public boolean equals(Object o) {
    if (this == o) return true;
    if (o == null || getClass() != o.getClass()) return false;

    Request request = (Request) o;

    if (context != null ? !context.equals(request.context) : request.context != null) return false;
    if (!Arrays.equals(httpArgs, request.httpArgs)) return false;
    if (!Arrays.equals(inputArgs, request.inputArgs)) return false;
    if (listener != null ? !listener.equals(request.listener) : request.listener != null)
      return false;
    if (method != null ? !method.equals(request.method) : request.method != null) return false;
    if (multiPart != null ? !multiPart.equals(request.multiPart) : request.multiPart != null)
      return false;
    if (url != null ? !url.equals(request.url) : request.url != null) return false;

    return true;
  }