public void run(){
		try {
			while(true){
				Thread.sleep(MS_PER_SHRINK);  // milliseconds
				synchronized(vTrapped){
					for(SpaceObject uObj : vTrapped){
						if(uObj.getRad() > 0){
							double x = uObj.getCenterX();
							double y = uObj.getCenterY();
							uObj.setRad(uObj.getRad() - 1); //decrease radius
							uObj.setCenterX(x); //ensure the center stays the same
							uObj.setCenterY(y);
							uObj.setCenterX(0.1*(this.getCenterX() - uObj.getCenterX()) + uObj.getCenterX());//move towards the center of the black hole
							uObj.setCenterY(0.1*(this.getCenterY() - uObj.getCenterY()) + uObj.getCenterY());
						}
						else if(uObj instanceof Player){
							vTrapped.remove(uObj);
							//This is a while loop to ensure the player is not generated over the black hole
							//which would cause points to be subtracted more than once
							uObj.setRad(Player.RAD); //reset the radius of the player
							uObj.setVelX(0); //make sure the velocity is zero
							uObj.setVelY(0);
							while(SpaceObjectManager.collision(uObj, this)) { //if randomly generated over the black hole, try again
								uObj.setCenterX(GameUI.randInt(uObj.getRad(), uPanel.getWidth()-uObj.getRad()));
								uObj.setCenterY(GameUI.randInt(uObj.getRad(), uPanel.getHeight()-uObj.getRad()));
							}
							vObjs.add(uObj); //add the player back into the vector of objects
							break;
						}
						else{
							vTrapped.remove(uObj);
							uPanel.remove(uObj);
							break;
						}
					}
				}
			}
		} catch (InterruptedException ex) {
			System.out.print(ex.getMessage());
		}
	}