code: private void doMoveSelectedEntriesInList(int moveBy)
  	{
  		PlayListEntry [] selected = playList.getSelectedEntries();
  		if (selected!=null)
  		{
  			playlistUpdateThread.halt();
  			try
  			{
  				if (moveBy < 0)
  				{
  					// Moveup --> Still possible?
  					if ((selected[0].getIndexInPlaylist() + moveBy) < 0)
  						moveBy = selected[0].getIndexInPlaylist();
  					if (moveBy == 0) return;
  					
  					for (int i=0; i<selected.length; i++)
  					{
  						int fromIndex = selected[i].getIndexInPlaylist();
  						playList.move(fromIndex, fromIndex + moveBy);
  					}
  				}
  				else
  				{
  					// Movedown --> Still possible?
  					int lastIndex = selected.length - 1;
  					if ((selected[lastIndex].getIndexInPlaylist() + moveBy) >= playList.size())
  						moveBy = playList.size() - 1 - selected[lastIndex].getIndexInPlaylist();
  					if (moveBy == 0) return;
  					
  					for (int i=lastIndex; i>=0; i--)
  					{
  						int fromIndex = selected[i].getIndexInPlaylist();
  						playList.move(fromIndex, fromIndex + moveBy);
  					}
  				}
  				int showIndex = (moveBy<0)?selected[0].getIndexInPlaylist()-PLUS_LINES_VISABLE:selected[selected.length-1].getIndexInPlaylist()+PLUS_LINES_VISABLE;   
  				createList(showIndex);
  				firePlaylistChanged();
  			}
  			finally
  			{
  				playlistUpdateThread.restart();
  			}
  		}
  	}
docs: Move the selected entries (alt cursor)
  @param moveBy
  @since 15.12.2011