code: public com.squareup.okhttp.Call getCharactersCharacterIdMailAsync(Integer characterId, String datasource,
              String ifNoneMatch, List<Integer> labels, Integer lastMailId, String token,
              final ApiCallback<List<MailHeadersResponse>> callback) throws ApiException {
  
          com.squareup.okhttp.Call call = getCharactersCharacterIdMailValidateBeforeCall(characterId, datasource,
                  ifNoneMatch, labels, lastMailId, token, callback);
          Type localVarReturnType = new TypeToken<List<MailHeadersResponse>>() {
          }.getType();
          apiClient.executeAsync(call, localVarReturnType, callback);
          return call;
      }
docs: Return mail headers (asynchronously) Return the 50 most recent mail
  headers belonging to the character that match the query criteria. Queries
  can be filtered by label, and last_mail_id can be used to paginate
  backwards --- This route is cached for up to 30 seconds SSO Scope:
  esi-mail.read_mail.v1
  
  @param characterId
  An EVE character ID (required)
  @param datasource
  The server name you would like data from (optional, default to
  tranquility)
  @param ifNoneMatch
  ETag from a previous request. A 304 will be returned if this
  matches the current ETag (optional)
  @param labels
  Fetch only mails that match one or more of the given labels
  (optional)
  @param lastMailId
  List only mail with an ID lower than the given ID, if present
  (optional)
  @param token
  Access token to use if unable to set a header (optional)
  @param callback
  The callback to be executed when the API call finishes
  @return The request call
  @throws ApiException
  If fail to process the API call, e.g. serializing the request
  body object