List<String> result = PRE_SORTED_FIELDS_LIST
.stream()
.filter(fieldNames::remove)
.collect(Collectors.toList());
fieldNames::remove
удаляет элемент из списка fieldNames. Если элемент присутствовал - возвращается true, в противном случае false. Т.о. в стриме остаются только те элементы, которые присутствовали и были удалены из fieldNames..collect(Collectors.toList())
собирает стрим в обычный лист.