code: protected void recordExpression( final Expression expression,
                                       final String nodeName,
                                       final Node parentNode ) throws Exception {
          // TODO handle all the different types of expressions
          final Node expressionNode = parentNode.addNode(nodeName, ClassFileSequencerLexicon.EXPRESSION);
          expressionNode.setProperty(ClassFileSequencerLexicon.CONTENT, expression.toString());
          recordSourceReference(expression, expressionNode);
      }
docs: <pre>
  Expression:
  
  Annotation,
  ArrayAccess,
  ArrayCreation,
  ArrayInitializer,
  Assignment,
  BooleanLiteral,
  CastExpression,
  CharacterLiteral,
  ClassInstanceCreation,
  ConditionalExpression,
  FieldAccess,
  InfixExpression,
  InstanceofExpression,
  MethodInvocation,
  Name,
  NullLiteral,
  NumberLiteral,
  ParenthesizedExpression,
  PostfixExpression,
  PrefixExpression,
  StringLiteral,
  SuperFieldAccess,
  SuperMethodInvocation,
  ThisExpression,
  TypeLiteral,
  VariableDeclarationExpression
  </pre>
  
  @param expression the {@link Expression expression} being recorded (cannot be <code>null</code>)
  @param nodeName the name of the expression node that is created (cannot be <code>null</code> or empty)
  @param parentNode the parent {@link Node node} where the expression is being recorded (cannot be <code>null</code>)
  @throws Exception if there is a problem