public static ActionHandler CreateHandler(InvokeInfo vkInfo) { SessionMode mode = vkInfo.GetSessionMode(); if( mode == SessionMode.NotSupport ) return new ActionHandler { InvokeInfo = vkInfo }; else if( mode == SessionMode.ReadOnly ) return new ReadOnlySessionActionHandler { InvokeInfo = vkInfo }; else return new RequiresSessionActionHandler { InvokeInfo = vkInfo }; }