code: public int newInvokeDynamic(final String name, final String desc,
              final Handle bsm, final Object... bsmArgs) {
          return newInvokeDynamicItem(name, desc, bsm, bsmArgs).index;
      }
docs: Adds an invokedynamic reference to the constant pool of the class being
  build. Does nothing if the constant pool already contains a similar item.
  <i>This method is intended for {@link Attribute} sub classes, and is
  normally not needed by class generators or adapters.</i>
  
  @param name
  name of the invoked method.
  @param desc
  descriptor of the invoke method.
  @param bsm
  the bootstrap method.
  @param bsmArgs
  the bootstrap method constant arguments.
  
  @return the index of a new or already existing invokedynamic reference
  item.