code: private boolean mergeBuilders( Document document )
          throws MojoExecutionException
      {
          NodeList buildCommandList = document.getElementsByTagName( "buildCommand" );
          for ( int i = 0; i < buildCommandList.getLength(); i++ )
          {
              Element buildCommand = (Element) buildCommandList.item( i );
              NodeList nameList = buildCommand.getElementsByTagName( "name" );
              for ( int j = 0; j < nameList.getLength(); j++ )
              {
                  Element name = (Element) nameList.item( j );
                  if ( name.getNodeValue().equals( AJ_BUILDER ) )
                  {
                      return false;
                  }
                  // if maven2 builder is used we don't need
                  // use aspectJ builder
                  if ( name.getNodeValue().equals( M2_BUILDER ) )
                  {
                      return false;
                  }
              }
          }
          // we need add aspectJ builder node
          NodeList buildSpecList = document.getElementsByTagName( "buildSpec" );
          if ( 0 == buildSpecList.getLength() )
          {
              NodeList nodes = document.getElementsByTagName( "natures" );
              if ( 0 == nodes.getLength() )
              {
                  throw new MojoExecutionException( "At least one nature must be specified in .project file!" );
              }
              Element buildSpec = document.createElement( "buildSpec" );
              document.insertBefore( buildSpec, nodes.item( 0 ) );
              buildSpecList = document.getElementsByTagName( "buildSpec" );
          }
          Element buildSpec = (Element) buildSpecList.item( 0 );
          Element buildCommand = document.createElement( "buildCommand" );
  
          // create & append <name/>
          Element name = document.createElement( "name" );
          name.setNodeValue( AJ_BUILDER );
          buildCommand.appendChild( name );
  
          // create & append <arguments/>
          buildCommand.appendChild( document.createElement( "arguments" ) );
  
          buildSpec.insertBefore( buildCommand, buildSpec.getFirstChild() );
  
          return true;
      }
docs: TODO remove javac builder if aspectJ builder is used