@Override public void consume(DependencyType type) { if (filter != null && !filter.match(type)) { return; } if (type.getName().startsWith("[")) { source.getArrayItem().connect(destination.getArrayItem()); destination.getArrayItem().connect(source.getArrayItem()); } if (type.getName().equals("java.lang.Class")) { source.getClassValueNode().connect(destination.getClassValueNode()); } if (!destination.hasType(type)) { destination.propagate(type); } }