docs: protected void record( final EnumConstantDeclaration enumConstant,
                             final Node parentNode ) throws Exception {
          final String name = enumConstant.getName().getIdentifier();
          final Node constantNode = parentNode.addNode(name, ClassFileSequencerLexicon.ENUM_CONSTANT);
  
          { // javadocs
              final Javadoc javadoc = enumConstant.getJavadoc();
  
              if (javadoc != null) {
                  record(javadoc, constantNode);
              }
          }
  
          { // no modifiers but can have annotations
              @SuppressWarnings( "unchecked" )
              final List<IExtendedModifier> modifiers = enumConstant.modifiers();
              recordAnnotations(modifiers, constantNode);
          }
  
          { // args
              @SuppressWarnings( "unchecked" )
              final List<Expression> args = enumConstant.arguments();
  
              if ((args != null) && !args.isEmpty()) {
                  final Node containerNode = constantNode.addNode(ClassFileSequencerLexicon.ARGUMENTS,
                                                                  ClassFileSequencerLexicon.ARGUMENTS);
  
                  for (final Expression arg : args) {
                      recordExpression(arg, ClassFileSequencerLexicon.ARGUMENT, containerNode);
                  }
              }
          }
  
          // anonymous classes
          final AnonymousClassDeclaration acd = enumConstant.getAnonymousClassDeclaration();
  
          if (acd != null) {
              recordBodyDeclarations(acd, constantNode);
          }
  
          recordSourceReference(enumConstant, constantNode);
      }