if (kinds.contains(OutputPattern.SourceKind.ENVIRONMENT)) {
assert kinds.contains(OutputPattern.SourceKind.PROPERTY) == false;
assert kinds.contains(OutputPattern.SourceKind.RANDOM) == false;
assert desc.getOrder().isEmpty();
String outputName = output.getDescription().getName();
Slot slot = new Slot(
outputName,
output.getSources(),
Models.toName(f, desc.getModelType().getName()),
desc.getBasePath(),
desc.getResourcePattern(),
Models.toName(f, desc.getFormat().getName()),
null,
null,
desc.getDeletePatterns());
slots.add(slot);
} else {
List<CompiledOrder> orderingInfo = OutputPattern.compileOrder(desc.getOrder(), dataType);
String outputName = output.getDescription().getName();
Name naming = namingEmitter.emit(outputName, slots.size() + 1, dataType, namingInfo);
Name ordering = orderingEmitter.emit(outputName, slots.size() + 1, dataType, orderingInfo);
Slot slot = new Slot(
outputName,
output.getSources(),
Models.toName(f, desc.getModelType().getName()),
desc.getBasePath(),
desc.getResourcePattern(),