code: private int getPlateEndIndex(int plateNum) {
      Preconditions.checkArgument(plateNum >= 0 && plateNum < plateNames.size());
      return getPlateStartIndex(plateNum)
          + (plates.get(plateNum).getMaximumPlateSize() * maximumReplications[plateNum]);
    }
docs: Gets the end of the block of variable indices which can contain a
  replicated variable from the {@code plateNum}th plate. The
  returned index is exclusive, i.e., all indices used by
  {@code plateNum} must be less than the returned value.
  
  @param plateName
  @return