protected IDataReaderHandler FindSpecifiedDataReaderHandler(object[] args)
 {
     if (args == null || args.Length == 0)
     {
         return(this.dataReaderHandler);
     }
     if (args[args.Length - 1] is Dbflute.AllCommon.Ado.CursorHandler)
     {
         Dbflute.AllCommon.Ado.CursorHandler cursorHandler = (Dbflute.AllCommon.Ado.CursorHandler)args[args.Length - 1];
         return(new DataReaderCursol(cursorHandler));
     }
     if (ArgTypes.Length + 1 == args.Length && args[args.Length - 1] == null)
     {
         String lineSeparator = Environment.NewLine;
         String msg           = "System Level Exception!" + lineSeparator;
         msg = msg + "/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *" + lineSeparator;
         msg = msg + "The size of arg types have not been same as the size of arg objects:";
         msg = msg + " argTypes=" + ArgTypes.Length + " args=" + args.Length + lineSeparator;
         msg = msg + "If the arguments contain DataReaderHandler, the argument value should not be null!" + lineSeparator;
         for (int i = 0; i < args.Length - 1; i++)
         {
             msg = msg + "  args[" + i + "] -- " + args[i] + lineSeparator;
         }
         msg = msg + "* * * * * * * * * */" + lineSeparator;
         throw new SystemException(msg);
     }
     return(this.dataReaderHandler);
 }
 public DataReaderCursol(Dbflute.AllCommon.Ado.CursorHandler cursorHandler)
 {
     this._cursorHandler = cursorHandler;
 }