code: public ICodingAnnotationItem addItemAsArray(final Object[] annotations) {
  		if (annotations.length != raters.size()) {
              throw new IllegalArgumentException("Incorrect number of annotation units "
  					+ "(expected " + raters.size() + ", given "
  					+ annotations.length + "). "
  					+ "For array params, use #addItemsAsArray instead of #addItem.");
          }
  
  		int itemIdx = items.size();
  		CodingAnnotationItem item = new CodingAnnotationItem(raters.size());
  		for (int raterIdx = 0; raterIdx < annotations.length; raterIdx++) {
              item.addUnit(createUnit(itemIdx, raterIdx, annotations[raterIdx]));
          }
  		items.add(item);
  		return item;
  	}
docs: Creates a new {@link CodingAnnotationItem} which has been coded with
  the given annotation categories. Note that the order of the categories
  must correspond to the raters' indexes. Use null to represent missing
  annotations, Invoking <code>addItem(new Object[]{"A", "B", null,
  "A"})</code> indicates an annotation item which has been coded as
  category "A" by rater 0 and 3 and as category "B" by rater 1. Rater 2
  did not assign any category to the item.
  @throws IllegalArgumentException if the number of annotations does
  not match the number of raters.