If the file transfer is used to expose larger results, Servers may support various file formats, as exposed by the FileFormat field of the ResultMetaDataType. In order to allow access to those different file formats, a Server should subtype the BaseResultTransferOptionsDataType and add a field for selecting the file format (and potentially other fields defining the content of the file). Servers should subtype the ResultTransferType (and therefore also the ResultManagementType) to document which subtype of the ResultTransferOptionsDataType is allowed when calling the Method for the file transfer. The BaseResultTransferOptionsDataType is intentionally defined as an abstract DataType. The subtype ResultTransferOptionsDataType can be used as concrete DataType, if no additional fields are needed. This allows to override the GenerateFileForRead Method and change the DataType of the generateOptions in the signature to a concrete DataType. This would not be allowed, if the BaseResultTransferOptionsDataType would not be abstract.