public synchronized void drop(Picture dropPicture) 
  {
    Graphics2D g2 = null;
    
    // only do this if drawing on a picture
    if (picture != null)
      g2 = (Graphics2D) picture.getGraphics();
    else if (modelDisplay != null)
      g2 = (Graphics2D) modelDisplay.getGraphics();
    
    // if g2 isn't null
    if (g2 != null)
    {
      
      // save the current tranform
      AffineTransform oldTransform = g2.getTransform();
      
      // rotate to turtle heading and translate to xPos and yPos
      g2.rotate(Math.toRadians(heading),xPos,yPos);
      
      // draw the passed picture
      g2.drawImage(dropPicture.getImage(),xPos,yPos,null);
      
      // reset the tranformation matrix
      g2.setTransform(oldTransform);
      
      //  draw the pen
      pen.paintComponent(g2);
    }
  }