@Override
  public boolean accept(final ProjectRelationship<?, ?> rel) {
    // ACCEPT all BOMs, parents.
    switch (rel.getType()) {
      case PARENT:
        {
          return true;
        }
      case BOM:
        {
          return true;
        }
      case DEPENDENCY:
        {
          if (scope == null) {
            return false;
          }

          if (excludes != null && excludes.contains(rel.getTarget().asProjectRef())) {
            return false;
          }

          if (!rel.isManaged() && scope.implies(((DependencyRelationship) rel).getScope())) {
            return true;
          }
        }
      default:
    }

    return false;
  }