docs: public void setCodeLength(short codeLength) {
          this.codeLength = codeLength;
          if (codes.size() < codeLength) {
              for (int i = 0; i < codeLength; i++)
                  codes.add((byte) 0);
          }
  
          if (points.size() < codeLength) {
              for (int i = 0; i < codeLength; i++)
                  points.add(0);
          }
      }
  
  
      public static final long getLongHash(@NonNull String string) {
          return HashUtil.getLongHash(string);
      }
  
      /**
       * Returns gradient for this specific element, at specific position
       * @param index
       * @param g
       * @param lr
       * @return
       */
      @Deprecated
      public double getGradient(int index, double g, double lr) {
          /*
          if (adaGrad == null)
              adaGrad = new AdaGrad(1,getCodeLength(), lr);
          
          return adaGrad.getGradient(g, index, new int[]{1, getCodeLength()});
          */
          return 0.0;
      }