code: public void addEnvelope(Envelope envSrc, boolean bReverse) {
  		if (envSrc.isEmpty())
  			return;
  
  		boolean bWasEmpty = m_pointCount == 0;
  		Point pt = new Point(m_description);// getDescription());
  		for (int i = 0, n = 4; i < n; i++) {
  			int j = bReverse ? n - i - 1 : i;
  
  			envSrc.queryCornerByVal(j, pt);
  			if (i == 0)
  				startPath(pt);
  			else
  				lineTo(pt);
  		}
  
  		closePathWithLine();
  		m_bPathStarted = false;
  
  		if (bWasEmpty && !bReverse)
  			_setDirtyFlag(DirtyFlags.DirtyIsEnvelope, false);// now we know the
  																// polypath is
  																// envelope
  	}
docs: adds a rectangular closed Path to the MultiPathImpl.
  
  @param envSrc
  is the source rectangle.
  @param bReverse
  Creates reversed path.