public int hashCode() {
   int result = context != null ? context.hashCode() : 0;
   result = 31 * result + (url != null ? url.hashCode() : 0);
   result = 31 * result + (method != null ? method.hashCode() : 0);
   result = 31 * result + (httpArgs != null ? Arrays.hashCode(httpArgs) : 0);
   result = 31 * result + (inputArgs != null ? Arrays.hashCode(inputArgs) : 0);
   result = 31 * result + (multiPart != null ? multiPart.hashCode() : 0);
   result = 31 * result + (listener != null ? listener.hashCode() : 0);
   return result;
 }
  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;
  }