code: final int getSize(
          final ClassWriter cw,
          final byte[] code,
          final int len,
          final int maxStack,
          final int maxLocals)
      {
          Attribute attr = this;
          int size = 0;
          while (attr != null) {
              cw.newUTF8(attr.type);
              size += attr.write(cw, code, len, maxStack, maxLocals).length + 6;
              attr = attr.next;
          }
          return size;
      }
docs: Returns the size of all the attributes in this attribute list.
  
  @param cw the class writer to be used to convert the attributes into byte
  arrays, with the {@link #write write} method.
  @param code the bytecode of the method corresponding to these code
  attributes, or <tt>null</tt> if these attributes are not code
  attributes.
  @param len the length of the bytecode of the method corresponding to
  these code attributes, or <tt>null</tt> if these attributes are
  not code attributes.
  @param maxStack the maximum stack size of the method corresponding to
  these code attributes, or -1 if these attributes are not code
  attributes.
  @param maxLocals the maximum number of local variables of the method
  corresponding to these code attributes, or -1 if these attributes
  are not code attributes.
  @return the size of all the attributes in this attribute list. This size
  includes the size of the attribute headers.