code: public DirectJobStatusResponse getStatusChange(Sender sender) {
          JobStatusResponse<XMLDirectSignatureJobStatusResponse> statusChangeResponse = client.getDirectStatusChange(Optional.ofNullable(sender));
          if (statusChangeResponse.gotStatusChange()) {
              return fromJaxb(statusChangeResponse.getStatusResponse(), statusChangeResponse.getNextPermittedPollTime());
          } else {
              return noUpdatedStatus(statusChangeResponse.getNextPermittedPollTime());
          }
      }
docs: If there is a job with an updated {@link DirectJobStatus status}, the returned object contains
  necessary information to act on the status change. The returned object can be queried using
  {@link DirectJobStatusResponse#is(DirectJobStatus) .is(}{@link DirectJobStatus#NO_CHANGES NO_CHANGES)}
  to determine if there has been a status change. When processing of the status change is complete, (e.g. retrieving
  {@link #getPAdES(PAdESReference) PAdES} and/or {@link #getXAdES(XAdESReference) XAdES} documents for a
  {@link DirectJobStatus#COMPLETED_SUCCESSFULLY completed} job where all signers have {@link SignerStatus#SIGNED signed} their documents,
  the returned status must be {@link #confirm(DirectJobStatusResponse) confirmed}.
  <p>
  Only jobs with {@link DirectJob.Builder#retrieveStatusBy(StatusRetrievalMethod) status retrieval method} set
  to {@link StatusRetrievalMethod#POLLING POLLING} will be returned.
  
  @return the changed status for a job, or an instance indicating {@link DirectJobStatus#NO_CHANGES no changes},
  never {@code null}.