docs: protected void record( final FieldDeclaration field,
                             final Node parentNode ) throws Exception {
          @SuppressWarnings( "unchecked" )
          final List<VariableDeclarationFragment> frags = field.fragments();
          final String name = frags.get(0).getName().getFullyQualifiedName();
  
          final Node fieldNode = parentNode.addNode(name, ClassFileSequencerLexicon.FIELD);
          fieldNode.setProperty(ClassFileSequencerLexicon.NAME, name);
  
          { // javadocs
              final Javadoc javadoc = field.getJavadoc();
  
              if (javadoc != null) {
                  record(javadoc, fieldNode);
              }
          }
  
          { // type
              final Type type = field.getType();
              final String typeName = getTypeName(type);
              fieldNode.setProperty(ClassFileSequencerLexicon.TYPE_CLASS_NAME, typeName);
              record(type, ClassFileSequencerLexicon.TYPE, fieldNode);
          }
  
          { // modifiers
              final int modifiers = field.getModifiers();
  
              fieldNode.setProperty(ClassFileSequencerLexicon.FINAL, (modifiers & Modifier.FINAL) != 0);
              fieldNode.setProperty(ClassFileSequencerLexicon.STATIC, (modifiers & Modifier.STATIC) != 0);
              fieldNode.setProperty(ClassFileSequencerLexicon.TRANSIENT, (modifiers & Modifier.TRANSIENT) != 0);
              fieldNode.setProperty(ClassFileSequencerLexicon.VISIBILITY, getVisibility(modifiers));
              fieldNode.setProperty(ClassFileSequencerLexicon.VOLATILE, (modifiers & Modifier.VOLATILE) != 0);
          }
  
          { // annotations
              @SuppressWarnings( "unchecked" )
              final List<IExtendedModifier> modifiers = field.modifiers();
              recordAnnotations(modifiers, fieldNode);
          }
  
          { // fragments
              @SuppressWarnings( "unchecked" )
              final List<VariableDeclarationFragment> fragments = field.fragments();
  
              if ((fragments != null) && !fragments.isEmpty()) {
                  for (final VariableDeclarationFragment var : fragments) {
                      final Expression initializer = var.getInitializer();
  
                      if (initializer != null) {
                          recordExpression(initializer, ClassFileSequencerLexicon.INITIALIZER, fieldNode);
                      }
                  }
              }
          }
  
          recordSourceReference(field, fieldNode);
      }