public override int GetHashCode()
 {
     unchecked
     {
         var hashCode = base.GetHashCode();
         hashCode = (hashCode * 397) ^ (SuspensionId != null ? SuspensionId.GetHashCode() : 0);
         hashCode = (hashCode * 397) ^ OverrideInputVariables.GetHashCode();
         hashCode = (hashCode * 397) ^ (Response != null ? Response.GetHashCode() : 0);
         hashCode = (hashCode * 397) ^ (OverrideDataFunc != null ? OverrideDataFunc.GetHashCode() : 0);
         return(hashCode);
     }
 }
 public override IEnumerable <StateVariable> GetState()
 {
     return(new[]
     {
         new StateVariable
         {
             Name = nameof(Response),
             Value = Response,
             Type = StateVariable.StateType.Output
         },
         new StateVariable
         {
             Name = nameof(SuspensionId),
             Value = SuspensionId,
             Type = StateVariable.StateType.Input
         },
         new StateVariable
         {
             Name = nameof(OverrideInputVariables),
             Value = OverrideInputVariables.ToString(),
             Type = StateVariable.StateType.Input
         }
     });
 }