code: Item newStringishItem(final int type, final String value) {
          key2.set(type, value, null, null);
          Item result = get(key2);
          if (result == null) {
              pool.put12(type, newUTF8(value));
              result = new Item(index++, key2);
              put(result);
          }
          return result;
      }
docs: Adds a string reference, a class reference, a method type, a module
  or a package to the constant pool of the class being build.
  Does nothing if the constant pool already contains a similar item.
  
  @param type
  a type among STR, CLASS, MTYPE, MODULE or PACKAGE
  @param value
  string value of the reference.
  @return a new or already existing reference item.