assertRequestResponseCode.fromCode(datagram[RequestResponseCode.RRCODE_POSITION])==RequestResponseCode.LIST_RESPONSE:"FileList subclass is incompatible with this datagram, request/response code must be checked before using this constructor";
assertRequestResponseCode.fromCode(datagram[RequestResponseCode.RRCODE_POSITION])==RequestResponseCode.LOAD_RESPONSE:"FilePart subclass is incompatible with this datagram, request/response code must be checked before using this constructor";
assertRequestResponseCode.fromCode(datagram[RequestResponseCode.RRCODE_POSITION])!=RequestResponseCode.LIST_RESPONSE:"LIST_RESPONSE must use FilePart class";
assertRequestResponseCode.fromCode(datagram[RequestResponseCode.RRCODE_POSITION])!=RequestResponseCode.LOAD_RESPONSE:"LOAD_RESPONSE must use FileList class";