@Override
 public void playPrevious() throws PlayException {
   if (engine instanceof PlaylistSupport) {
     ((PlaylistSupport) engine).playPrevious();
   }
 }
 @Override
 public void clearPlaylist() {
   if (engine instanceof PlaylistSupport) {
     ((PlaylistSupport) engine).clearPlaylist();
   }
 }
 @Override
 public void play(int index) throws IndexOutOfBoundsException {
   if (engine instanceof PlaylistSupport) {
     ((PlaylistSupport) engine).play(index);
   }
 }
 @Override
 public void removeFromPlaylist(int index) {
   if (engine instanceof PlaylistSupport) {
     ((PlaylistSupport) engine).removeFromPlaylist(index);
   }
 }
 @Override
 public void setShuffleEnabled(boolean enable) {
   if (engine instanceof PlaylistSupport) {
     ((PlaylistSupport) engine).setShuffleEnabled(enable);
   }
 }
 @Override
 public void reorderPlaylist(int from, int to) {
   if (engine instanceof PlaylistSupport) {
     ((PlaylistSupport) engine).reorderPlaylist(from, to);
   }
 }
 @Override
 public void insertIntoPlaylist(int index, String... mediaURLs) {
   if (engine instanceof PlaylistSupport) {
     ((PlaylistSupport) engine).insertIntoPlaylist(index, mediaURLs);
   }
 }
 @Override
 public void insertIntoPlaylist(int index, MRL mediaLocator) {
   if (engine instanceof PlaylistSupport) {
     ((PlaylistSupport) engine).insertIntoPlaylist(index, mediaLocator);
   }
 }
 @Override
 public void addToPlaylist(List<MRL> mediaLocators) {
   if (engine instanceof PlaylistSupport) {
     ((PlaylistSupport) engine).addToPlaylist(mediaLocators);
   }
 }
 @Override
 public void addToPlaylist(String... mediaURLs) {
   if (engine instanceof PlaylistSupport) {
     ((PlaylistSupport) engine).addToPlaylist(mediaURLs);
   }
 }