ScheduledBlockLocationServiceImpl implements
    ScheduledBlockLocationService { @Override public ScheduledBlockLocation getScheduledBlockLocationFromDistanceAlongBlock( BlockConfigurationEntry blockConfig, double distanceAlongBlock) { if (distanceAlongBlock < 0.0 || distanceAlongBlock > blockConfig.getTotalBlockDistance()) return null; List<BlockStopTimeEntry> stopTimes = blockConfig.getStopTimes(); int n = stopTimes.size(); int stopTimeIndex = GenericBinarySearch.search(blockConfig, n, distanceAlongBlock, IndexAdapters.BLOCK_CONFIG_DISTANCE_INSTANCE); return getScheduledBlockLocationFromDistanceAlongBlockAndStopTimeIndex( stopTimes, distanceAlongBlock, stopTimeIndex); }  @Autowired void setShapePointService(ShapePointService shapePointService); @Override ScheduledBlockLocation getScheduledBlockLocationFromDistanceAlongBlock(
      BlockConfigurationEntry blockConfig, double distanceAlongBlock); @Override ScheduledBlockLocation getScheduledBlockLocationFromDistanceAlongBlock(
      ScheduledBlockLocation previousLocation, double distanceAlongBlock); @Override ScheduledBlockLocation getScheduledBlockLocationFromScheduledTime(
      BlockConfigurationEntry blockConfig, int scheduleTime); @Override ScheduledBlockLocation getScheduledBlockLocationFromScheduledTime(
      ScheduledBlockLocation previousLocation, int scheduleTime);  }
@Test public void test09() { ScheduledBlockLocation position = _service.getScheduledBlockLocationFromDistanceAlongBlock( _blockConfig, 2500); assertNull(position); }