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

    AbstractPhotoUploadImpl that = (AbstractPhotoUploadImpl) o;

    if (apiKey != null ? !apiKey.equals(that.apiKey) : that.apiKey != null) return false;
    if (!Arrays.equals(appendParameter, that.appendParameter)) return false;
    if (client != null ? !client.equals(that.client) : that.client != null) return false;
    if (conf != null ? !conf.equals(that.conf) : that.conf != null) return false;
    if (headers != null ? !headers.equals(that.headers) : that.headers != null) return false;
    if (httpResponse != null ? !httpResponse.equals(that.httpResponse) : that.httpResponse != null)
      return false;
    if (photo != null ? !photo.equals(that.photo) : that.photo != null) return false;
    if (message != null ? !message.equals(that.message) : that.message != null) return false;
    if (oauth != null ? !oauth.equals(that.oauth) : that.oauth != null) return false;
    if (!Arrays.equals(postParameter, that.postParameter)) return false;
    if (uploadUrl != null ? !uploadUrl.equals(that.uploadUrl) : that.uploadUrl != null)
      return false;

    return true;
  }