code: public double[] aggregate(double[][] descriptors) throws Exception {
  		if (descriptors.length > 0) {
  			if (descriptors[0].length != descriptorLength) {
  				throw new Exception("Descriptor length is incompatible with codebook centroid length!");
  			}
  		}
  		return aggregateInternal(descriptors);
  	}
docs: This method performs some general checks before calling the aggregateInternal method which is
  implemented by each aggregator.
  
  @param descriptors
  a set of local descriptors
  @return a vector which aggregates the local descriptors
  @throws Exception