protected void resolveProvider( FileDialogOperation op ) {
    if ( op.getProvider() == null ) {
      if ( isVfsPath( op.getPath() ) ) {
        op.setProvider( VFSFileProvider.TYPE );
      } else if ( spoonSupplier.get().getRepository() != null ) {
        op.setProvider( RepositoryFileProvider.TYPE );
      } else {
        op.setProvider( LocalFileProvider.TYPE );
      }
    }
  }
@Test
  public void testResolveProvider_Vfs() throws Exception {
    // SETUP
    String vfsPath = "pvfs://someConnection/someFilePath";
    ProviderService mockProviderService = mock( ProviderService.class );
    VFSFileProvider mockVFSFileProvider = mock( VFSFileProvider.class );
    when( mockProviderService.get( VFSFileProvider.TYPE ) ).thenReturn( mockVFSFileProvider );
    when( mockVFSFileProvider.isSupported(  vfsPath ) ).thenReturn( true );

    FileOpenSaveExtensionPoint testInstance = new FileOpenSaveExtensionPoint( mockProviderService, null );

    FileDialogOperation opVfs = new FileDialogOperation( FILE_OP_DUMMY_COMMAND  );
    opVfs.setProvider( null );
    opVfs.setPath( vfsPath );

    // EXECUTE
    testInstance.resolveProvider( opVfs );

    // VERIFY
    assertEquals( VFSFileProvider.TYPE, opVfs.getProvider() );
  }