code: private void checkForest(Set<Sensor> sensors) {
          if (!sensors.add(this))
              throw new IllegalArgumentException("Circular dependency in sensors: " + name() + " is its own parent.");
          for (int i = 0; i < parents.length; i++)
              parents[i].checkForest(sensors);
      }
docs: Validate that this sensor doesn't end up referencing itself