@Override
    public void save(Savable object, File f, boolean createDirectories) throws IOException {
        File parentDirectory = f.getParentFile();
        if (parentDirectory != null && !parentDirectory.exists() && createDirectories) {
            parentDirectory.mkdirs();
        }

        try (FileOutputStream fos = new FileOutputStream(f);
                BufferedOutputStream bos = new BufferedOutputStream(fos)) {
            save(object, bos);
        }
    }
Saves the object into memory then loads it from memory.

Used by tests to check if the persistence system is working.

@param <T> The type of savable.
@param assetManager AssetManager to load assets from.
@param object The object to save and then load.
@return A new instance that has been saved and loaded from the
original object.
jme3-core/src/plugins/java/com/jme3/export/binary/BinaryExporter.java