public static Instruction Create(int duration) { if (duration < 0) { return(AsmEmpty.Create()); } var ins = AsmWait_HighPrecision.Create(duration); if (ins.Success) { return(ins); } ins = AsmWait_Standard.Create(duration); if (ins.Success) { return(ins); } return(AsmWait_Extended.Create(duration)); }