code: public void put(E value, boolean createCategories) throws IllegalArgumentException, NullPointerException {
          if (createCategories) {
              for (int i = 0; i < categories.length; i++) {
                  String category = categories[i];
                  CrosstabDimension dimension = crosstab.getDimension(i);
                  dimension.addCategory(category);
              }
          }
          crosstab.putValue(value, categories);
      }
docs: Puts the given value to the navigated position in the crosstab.
  
  @param value
  the value to put.
  @param createCategories
  if true, the chosen categories will automatically be created
  if they do not already exists in the dimensions of the
  crosstab.
  @throws IllegalArgumentException
  if the position or value is invalid, typically because one or
  more dimensions lacks a specified category or the value type
  is not acceptable (typically because of class casting issues)
  @throws NullPointerException
  if some of the specified categories are null