code: private Item newDouble(final double value) {
          Item result = get(key.set(DOUBLE, value));
          if (result == null) {
              pool.putByte(DOUBLE).putLong(Double.doubleToLongBits(value));
              result = new Item(poolIndex, key);
              put(result);
              poolIndex += 2;
          }
          return result;
      }
docs: Adds a double to the constant pool of the class being build. Does nothing if the constant pool already contains a
  similar item.
  
  @param value the double value.
  @return a new or already existing double item.