code: public TrajectoryEnvelope getGroundEnvelope(int seqNum) {
  		if (seqNum >= this.getPathLength()) throw new Error("Path length of " + this + " less than requested sequence number (" + seqNum + ")");
  		int counter = 0;
  		TrajectoryEnvelope ret = null;
  		for (TrajectoryEnvelope te : getGroundEnvelopes()) {
  			if (counter > seqNum) {
  				return ret;
  			}
  			ret = te;
  			counter += (te.getPathLength());
  		}
  		return ret;
  		
  //		Coordinate currentPos = this.getTrajectory().getPositions()[seqNum];
  //		GeometryFactory gf = new GeometryFactory();
  //		Point point = gf.createPoint(currentPos);
  //		TrajectoryEnvelope superEnv = (TrajectoryEnvelope)this;
  //		while (superEnv.hasSuperEnvelope()) superEnv = superEnv.getSuperEnvelope();
  //		for (TrajectoryEnvelope ge : superEnv.getGroundEnvelopes()) {
  //			if (((GeometricShapeDomain)ge.getEnvelopeVariable().getDomain()).getGeometry().contains(point)) return ge;
  //		}
  //		return this;
  	}
docs: Get the ground {@link TrajectoryEnvelope} in which the robot will be a the given sequence number along
  the trajectory.
  @param seqNum The index of sequence number which the returned ground {@link TrajectoryEnvelope} should contain.
  @return The ground {@link TrajectoryEnvelope} at the given index in the reference {@link Trajectory}.