code: @SuppressWarnings("unchecked")
  	public static MethodSpec<ReceiveEventsAnn>[] getReceiveEventsSpecs(Class<?> cls) {
  		MethodSpec<ReceiveEventsAnn>[] specs = RECEIVE_EVENTS_SPECS.get(cls);
  		if (specs == null) {
  			ArrayList<MethodSpec<ReceiveEventsAnn>> list = new ArrayList<MethodSpec<ReceiveEventsAnn>>();
  			for (Method method : getMethodHierarchy(cls)) {
  				ReceiveEventsAnn ann = getReceiveEventsAnn(method);
  				if (ann != null) {
  					list.add(new MethodSpec<ReceiveEventsAnn>(method, ann));
  				}
  			}
  			specs = list.toArray(new MethodSpec[list.size()]);
  			RECEIVE_EVENTS_SPECS.put(cls, specs);
  		}
  		return specs;
  	}
docs: Bus