public EnsJSequence(String id, Controller c, Location loc, String driverPath) {
    super(id, c);

    this.location = loc;

    setRange(new Range("dummy", loc.getStart(), loc.getEnd()));

    setDriverPath(driverPath);
    setLength(loc.getLength());
  }
  /** @return new location based on current one but with different start and end. */
  private LinearLocation derivedLocation(int start, int end) {

    LinearLocation subLoc = (LinearLocation) location.copy();
    subLoc.setStart(start);
    subLoc.setEnd(end);
    return subLoc;
  }