code: @Override
    public GallicWeight divide(GallicWeight a, GallicWeight b) {
      if (isZero(a)) return zero;
      Preconditions.checkArgument(isNotZero(b), "cant divide by zero");
      IntArrayList newOutputLabels = new IntArrayList();
      for (int i = b.getLabels().size(); i < a.getLabels().size(); i++) {
        newOutputLabels.add(a.getLabels().get(i));
      }
      double newWeight = this.weightSemiring.divide(a.getWeight(), b.getWeight());
      return GallicWeight.create(newOutputLabels, newWeight);
    }
docs: Left divide for gallic weights (right divide is not implemented yet)
  
  @param a first
  @param b second
  @return left divide of first by second