private void append(StringBuilder buffer, MojoExecution me) {
   buffer.append(me.getArtifactId()).append(':').append(me.getVersion());
   buffer.append(':').append(me.getGoal());
   if (me.getExecutionId() != null) {
     buffer.append(" (").append(me.getExecutionId()).append(')');
   }
 }
 private MojoExecution getExecution(
     MavenExecutionPlan executionPlan, String artifactId, String goal) throws CoreException {
   for (MojoExecution execution : executionPlan.getMojoExecutions()) {
     if (artifactId.equals(execution.getArtifactId()) && goal.equals(execution.getGoal())) {
       return execution;
     }
   }
   return null;
 }
 protected MojoExecution findForkedExecution(
     MojoExecution primary, String groupId, String artifactId, String goal) {
   Map<String, List<MojoExecution>> forkedExecutions = primary.getForkedExecutions();
   MojoExecution goalExecution = null;
   for (List<MojoExecution> possibleExecutionList : forkedExecutions.values()) {
     for (MojoExecution possibleExecution : possibleExecutionList) {
       if (groupId.equals(possibleExecution.getGroupId())
           && artifactId.equals(possibleExecution.getArtifactId())
           && goal.equals(possibleExecution.getGoal())) {
         goalExecution = possibleExecution;
         break;
       }
     }
     if (goalExecution != null) {
       break;
     }
   }
   return goalExecution;
 }