public PageSet<? extends StorageMetadata> list(String container, ListContainerOptions options) { List<StorageObjectMetadata> listFiles; try { String dir = options.getDir(); if (dir != null) { listFiles = service.listFiles(container, dir, options.isRecursive()); } else { listFiles = service.listFiles(container, "", options.isRecursive()); } List<MutableStorageMetadata> jCloudsMetadata = new ArrayList<MutableStorageMetadata>(); if (!listFiles.isEmpty()) { for (StorageObjectMetadata metadata : listFiles) { jCloudsMetadata.add(generateJcloudsMetadata(metadata)); } } else { StorageObjectMetadata metadata = new StorageObjectMetadata(); if (dir != null) metadata.setPathAndName(dir); metadata.setType(StorageObjectConstants.DIRECTORY_TYPE); jCloudsMetadata.add(generateJcloudsMetadata(metadata)); } return new PageSetImpl<StorageMetadata>(jCloudsMetadata, null); } catch (MethodNotSupportedException e) { e.printStackTrace(); return null; } }