@Override
  public Iterable<Edge> getEdgesIncidentWith(AbstractProject<?, ?> project) {
    Set<Edge> artifactEdges = Sets.newHashSet();

    if (copyartifactIsInstalled) {
      if (project instanceof FreeStyleProject) {

        FreeStyleProject proj = (FreeStyleProject) project;
        List<Builder> builders = proj.getBuilders();

        for (Builder builder : builders) {

          if (builder instanceof CopyArtifact) {

            CopyArtifact caBuilder = (CopyArtifact) builder;
            String projectName = caBuilder.getProjectName();
            Jenkins jenkins = Jenkins.getInstance();
            AbstractProject<?, ?> projectFromName =
                jenkins.getItem(projectName, project.getParent(), AbstractProject.class);

            if (projectFromName != null) {
              artifactEdges.add(new CopyArtifactEdge(node(projectFromName), node(project)));
            }
          }
        }
      }
    }
    return artifactEdges;
  }