code: public AsyncMutateInBuilder counter(String path, long delta) {
          if (StringUtil.isNullOrEmpty(path)) {
              throw new IllegalArgumentException("Path must not be empty for counter");
          }
          // shortcircuit if delta is zero
          if (delta == 0L) {
              throw new BadDeltaException("Delta must not be 0");
          }
          this.mutationSpecs.add(new MutationSpec(Mutation.COUNTER, path, delta));
          return this;
      }
docs: Increment/decrement a numerical fragment in a JSON document.
  If the value (last element of the path) doesn't exist the counter is created and takes the value of the delta.
  
  @param path the path to the counter (must be containing a number).
  @param delta the value to increment or decrement the counter by.