public static void Execute()
        {
            // Open closed
            var builder = new PersonBuilderFunctional().SetName("TTTT").SetProfession("Soft").Build();

            // open closed with generics and inheritence
            var builder1 = new PersonBuilderFunctional1().SetName("TTTT").SetProfession("Soft").Build();
        }
 public static PersonBuilderFunctional1 SetProfession(this PersonBuilderFunctional1 builder, string profession)
 {
     builder.Do(p => p.Position = profession);
     return(builder);
 }