code: public List<ChangeSetStatus> getStatuses() {
          ArrayList<ChangeSetStatus> returnList = new ArrayList<>();
          for (RanChangeSet changeSet : ranChangeSets) {
              ChangeSetStatus status = new ChangeSetStatus(new ChangeSet(changeSet.getId(), changeSet.getAuthor(), false, false, changeSet.getChangeLog(), null, null, null));
              status.setPreviouslyRan(true);
              status.setDateLastExecuted(changeSet.getDateExecuted());
              status.setStoredCheckSum(changeSet.getLastCheckSum());
  
              status.setComments(changeSet.getComments());
              status.setDescription(changeSet.getDescription());
              status.setWillRun(false);
              status.setFilterResults(new HashSet<>(Arrays.asList(new ChangeSetFilterResult(false, "Change set is not in change log", NotInChangeLogChangeSetFilter.class))));
              status.setRanChangeSet(changeSet);
  
              returnList.add(status);
          }
  
          returnList.addAll(changeSetStatuses.values());
  
          return returnList;
      }
docs: Return the status of all changeSets, in the order they exist in the databasechangelog.
  Any change sets not in the current change log but previously ran against the database will be at the front of the List
  with a not run reason type of {@link liquibase.changelog.filter.NotInChangeLogChangeSetFilter}