class dependency
----------------
[NOTE]
  C: class, I: interface
  ------|> the IsA relation
  <>-----> the HasA relation
  -------> the other relation


C mypkg.lambda.LExpr

C mypkg.lambda.TraceInfo

C mypkg.lambda.ResultValue
    <>-----> C mypkg.lambda.LExpr

C mypkg.lambda.Variable
    ------|> C mypkg.lambda.LExpr

C mypkg.lambda.Abstraction
    ------|> C mypkg.lambda.LExpr
    -------> C mypkg.lambda.TraceInfo

C mypkg.lambda.Application
    ------|> C mypkg.lambda.LExpr
    -------> C mypkg.lambda.TraceInfo

C mypkg.lambda.BetaRedex
    ------|> C mypkg.lambda.LExpr

I mypkg.lambda.LExprConverter
    -------> C mypkg.lambda.LExpr

I mypkg.lambda.LExprFactory
    -------> C mypkg.lambda.LExpr

I mypkg.lambda.LExprHandler
    -------> C mypkg.lambda.LExpr
    -------> C mypkg.lambda.ResultValue

C mypkg.lambda.LExprShaper
    ------|> I mypkg.lambda.LExprConverter
    -------> C mypkg.lambda.LExpr

C mypkg.lambda.MathLExprFactory
    ------|> I mypkg.lambda.LExprFactory
    <>-----> I mypkg.lambda.LExprConverter
    -------> C mypkg.lambda.LExpr

C mypkg.lambda.ExpressionHandler
    ------|> I mypkg.lambda.LExprHandler
    <>-----> I mypkg.lambda.LExprFactory
    <>-----> I mypkg.lambda.LExprConverter
    -------> C mypkg.lambda.LExpr
    -------> C mypkg.lambda.ResultValue
    -------> C mypkg.lambda.TraceInfo

C mypkg.lambda.LambdaCalculus
    <>-----> I mypkg.lambda.LExprHandler
    -------> C mypkg.lambda.LExpr
    -------> C mypkg.lambda.ResultValue
    -------> C mypkg.lambda.util.PropertiesHandler
    -------> C mypkg.lambda.util.CommentRemover
    -------> C mypkg.lambda.util.ResourceReader
