code: protected void record( final TypeParameter param,
                             final Node parentNode ) throws Exception {
          final String paramName = param.getName().getFullyQualifiedName();
          final Node paramNode = parentNode.addNode(paramName, ClassFileSequencerLexicon.TYPE_PARAMETER);
  
          @SuppressWarnings( "unchecked" )
          final List<Type> bounds = param.typeBounds();
  
          if ((bounds != null) && !bounds.isEmpty()) {
              final Node containerNode = paramNode.addNode(ClassFileSequencerLexicon.BOUNDS, ClassFileSequencerLexicon.TYPES);
  
              for (final Type bound : bounds) {
                  record(bound, getTypeName(bound), containerNode);
              }
          }
  
          recordSourceReference(param, paramNode);
      }
docs: <pre>
  TypeParameter:
  TypeVariable [ extends Type { & Type } ]
  </pre>
  
  @param param the {@link TypeParameter type parameter} being recorded (cannot be <code>null</code>)
  @param parentNode the parent {@link Node node} where the type parameter will be recorded (cannot be <code>null</code>)
  @throws Exception if there is a problem