code: private static IRichSpout buildSpout(SpoutDef def, ExecutionContext context) throws ClassNotFoundException,
              IllegalAccessException, InstantiationException, NoSuchMethodException, InvocationTargetException {
          return (IRichSpout)buildObject(def, context);
      }
docs: Given a spout definition, return a Storm spout implementation by attempting to find a matching constructor
  in the given spout class. Perform list to array conversion as necessary.