class MigrationContainer {

    @Nullable
    public List<Migration> findMigrationPath(int start, int end) {
        if (start == end) {
            return Collections.emptyList();
        }
        boolean migrateUp = end > start;
        List<Migration> result = new ArrayList<>();
        return findUpMigrationPath(result, migrateUp, start, end);
    }

}