/// Rather than have each command cast its context to an /// IRequestContext, /// provide a IRequestCommand with an alternative signature. ///
/// If requisite fields are not present in the main Context, /// appropriate errors should be posted to the Errors property, /// so that the client can correct the oversight and resubmit the request. ///
/// The RelatedIDs property may be used by the command itself, /// or by a collaborating "conversion" command, /// to confirm that related fields, when present, are in the expected format. ///
/// The RelatedIDs property may be used by the command itself, /// or by a collaborating "validation" command, /// to confirm that related fields, when present, are in the expected format. ///
/// If a Field ID is not specified as a RelatedID or a RequiredID, /// than it may not be passed from the Criteria to the main Context, /// and so will not be available to the Command. ///
/// As the field is passed from the Fieldstate to the main Context, /// it may also be converted to the appropriate DataType or string format. /// A collaborating Command may reference the FieldTable in a INexusContext /// to ascertain the expected type or format for a value and /// to obtain the appropriate error messages for each field. ///
/// The RelatedIDs property may be used by the command itself, /// or by a collaborating "conversion" command, /// to confirm that related fields, when present, are in the expected format. ///
/// Since posting errors and messages is a specialized concern, /// it is recommended that collaborating Commands handle validation and confirmation. ///
/// A collaborating Command may reference the FieldTable in a INexusContext /// to ascertain the expected format for a value and /// to obtain the appropriate error messages for each field. ///
/// When Commands are chained, the output from one Command may be used /// as input for another Command. If a collaborating Command is /// validating the Criteria for required input, prior to processing, /// then Runtime FieldIDs may be excluded from the set of RequiredIDs. ///
/// The RuntimeIDs are expected to be set on a Chain rather than an individual /// Command. The property is a member of the INexusCommand interface so that /// Command and Chains can observe the substitution principle. ///
/// Expected to be called from Execute as a casting convenience. ///