code: private DependencyNode getNode( EnforcerRuleHelper helper )
          throws EnforcerRuleException
      {
          try
          {
              MavenProject project = (MavenProject) helper.evaluate( "${project}" );
              DependencyTreeBuilder dependencyTreeBuilder =
                  (DependencyTreeBuilder) helper.getComponent( DependencyTreeBuilder.class );
              ArtifactRepository repository = (ArtifactRepository) helper.evaluate( "${localRepository}" );
              ArtifactFactory factory = (ArtifactFactory) helper.getComponent( ArtifactFactory.class );
              ArtifactMetadataSource metadataSource =
                  (ArtifactMetadataSource) helper.getComponent( ArtifactMetadataSource.class );
              ArtifactCollector collector = (ArtifactCollector) helper.getComponent( ArtifactCollector.class );
              ArtifactFilter filter = null; // we need to evaluate all scopes
              DependencyNode node =
                  dependencyTreeBuilder.buildDependencyTree( project, repository, factory, metadataSource, filter,
                                                             collector );
              return node;
          }
          catch ( ExpressionEvaluationException e )
          {
              throw new EnforcerRuleException( "Unable to lookup an expression " + e.getLocalizedMessage(), e );
          }
          catch ( ComponentLookupException e )
          {
              throw new EnforcerRuleException( "Unable to lookup a component " + e.getLocalizedMessage(), e );
          }
          catch ( DependencyTreeBuilderException e )
          {
              throw new EnforcerRuleException( "Could not build dependency tree " + e.getLocalizedMessage(), e );
          }
      }
docs: Uses the {@link EnforcerRuleHelper} to populate the values of the
  {@link DependencyTreeBuilder#buildDependencyTree(MavenProject, ArtifactRepository, ArtifactFactory, ArtifactMetadataSource, ArtifactFilter, ArtifactCollector)}
  factory method. <br/>
  This method simply exists to hide all the ugly lookup that the {@link EnforcerRuleHelper} has to do.
  
  @param helper
  @return a Dependency Node which is the root of the project's dependency tree
  @throws EnforcerRuleException