VufsServiceImpl implements IVufsService { @Override public boolean removeMetafileFromParent(String childMetafileUuid, String parentMetafileUuid) { boolean isRemovedAsChild = false; for (Metafile metafile : currentMetatable.getMetafileSet()) { if (metafile.getFileUuid().equalsIgnoreCase(parentMetafileUuid)) { isRemovedAsChild = metafile.removeChildFileUuid(childMetafileUuid); break; } } return isRemovedAsChild && currentMetatable.removeMetafileByUuid(childMetafileUuid); } @Autowired  VufsServiceImpl(IProfile profile,
            MetatableTransformer metatableTransformer,
            IMetatableService persistingService); @Override Metafile createEmptyMetafile(); @Override Metafile getMetafileByUuid(String fileUuid); @Override Metafile addBlockByUuidToMetafile(String blockUuid, Metafile metafile); @Override Metafile removeBlockByUuidFromMetafile(String blockUuid, Metafile metafile); @Override boolean addMetafileToMetatable(Metafile metafile); @Override boolean removeMetafileFromMetatable(Metafile metafile); @Override Set<String> getAllocationByBlockUuid(String blockUuid); @Override void setAllocationForBlockByUuid(String blockUuid, Set<String> allocationSet); @Override boolean addMetafileAsChildToParent(Metafile childMetafile,
            String parentMetafileUuid); @Override boolean removeMetafileFromParent(String childMetafileUuid,
            String parentMetafileUuid); @Override AllocationStrategy getAllocationStrategyByMetafileUuid(String metafileUuid); @Override void setAllocationStrategyByMetafileUuid(String metafileUuid,
            AllocationStrategy allocationStrategy); @PreDestroy void persistChanges();  }
@Test public void removeMetafileFromParent() { Metafile parentMetafile = vufsService.createEmptyMetafile(); String parentMetafileUuid = parentMetafile.getFileUuid(); Metafile childMetafile = vufsService.createEmptyMetafile(); String childMetafileUuid = childMetafile.getFileUuid(); vufsService.addMetafileToMetatable(parentMetafile); vufsService.addMetafileAsChildToParent(childMetafile, parentMetafileUuid); boolean isRemoved = vufsService .removeMetafileFromParent(childMetafileUuid, parentMetafileUuid); assertTrue(isRemoved); assertEquals(parentMetafile.getChildFileUuidSet().size(), 0); }