docs: public static IArchiveFile getArchiveFile(final File pFile) {
  
  		String extension = pFile.getName();
  		if (extension.contains(".")){
  			try {
  				extension = extension.substring(extension.lastIndexOf(".") + 1);
  			}catch (Exception ex){
  				//just to catch any potential out of index errors
  			}
  		}
  		Class<? extends IArchiveFile> aClass = extensionMap.get(extension.toLowerCase());
  		if (aClass!=null){
  			try {
  				IArchiveFile provider = aClass.newInstance();
  				provider.init(pFile);
  				return provider;
  			} catch (InstantiationException e) {
  				Log.e(IMapView.LOGTAG, "Error initializing archive file provider " + pFile.getAbsolutePath(), e);
  			} catch (IllegalAccessException e) {
  				Log.e(IMapView.LOGTAG, "Error initializing archive file provider " + pFile.getAbsolutePath(), e);
  			} catch (final Exception e) {
  				Log.e(IMapView.LOGTAG,"Error opening archive file " + pFile.getAbsolutePath(), e);
  			}
  		}
  
  
  		return null;
  	}