def METHOD_NAME(
    cls,
    layer_uuid: UUID,
    presentation: Optional[Presentation],
    input_datasets_uuids: List[UUID],
    kind: Kind,
    scheduled_time,
    input_datasets_infos: List[Optional[frozendict]],
) -> Optional["ProductDataset"]:
    if not any(input_datasets_uuids):
        LOG.debug("Could not create a multichannel ProductDataset, when no input ProductDatasets exist.")
        return None
    initial_dataset_info = {Info.UUID: uuidgen(), Info.KIND: kind, Info.SCHED_TIME: scheduled_time}
    dataset_info = cls._update_info_with_input_infos(initial_dataset_info, input_datasets_infos)
    if not dataset_info:
        return None
    dataset = cls(
        layer_uuid=layer_uuid,
        info=frozendict(dataset_info),
        presentation=presentation,
        input_datasets_uuids=input_datasets_uuids,
    )
    return dataset