@Override
  public List<VFSFile> getFiles( VFSFile file, String filters, VariableSpace space ) throws FileException {

    ConnectionFileName fileName = getConnectionFileName( file );

    if ( fileName.isConnectionRoot() ) {
      VFSConnectionDetails details = getExistingDetails( fileName );
      if ( usesBuckets( details ) ) {
        return getBuckets( file, fileName, details );
      }
    }

    FileObject fileObject;
    try {
      fileObject = getFileObject( file, space );
    } catch ( FileException e ) {
      throw new FileNotFoundException( file.getPath(), TYPE );
    }

    return populateChildren( file, fileObject, filters );
  }
@Test( expected = FileException.class )
  public void testGetFilesOfConnectionUsingBucketsThrowsIfEmptyBuckets() throws Exception {
    GetFilesOfConnectionUsingBucketsScenario scenario = new GetFilesOfConnectionUsingBucketsScenario();
    mockDetailsProviderLocations( scenario.details1, scenario.provider );

    vfsFileProvider.getFiles( scenario.connectionRootFile, null, mock( VariableSpace.class ) );
  }