@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; }