code: final LowLevelAbstractionValueDefinition satisfiedBy(
              Segment<PrimitiveParameter> segment, Algorithm algorithm)
              throws AlgorithmInitializationException,
              AlgorithmProcessingException {
          if (satisfiesGapBetweenValues(segment)) {
              for (LowLevelAbstractionValueDefinition valueDef : this.valueDefinitions) {
                  if (valueDef.satisfiedBy(segment, algorithm)) {
                      return valueDef;
                  }
              }
          }
          return null;
      }
docs: Test whether or not the given time series satisfies the constraints of
  this detector and an optional algorithm. If no algorithm is specified,
  then this test just uses the detector's constraints.
  
  @param segment
  a time series <code>Segment</code>.
  @param algorithm
  an <code>Algorithm</code>, or <code>null</code> to
  specify no algorithm.
  @return <code>true</code> if the time series segment satisfies the
  constraints of this detector, <code>false</code> otherwise
  @throws AlgorithmProcessingException
  @throws AlgorithmInitializationException