@Override
    public <T> T serialize(final Serializer<T> dict) {
        dict.setStringForKey(String.valueOf(type), "Type");
        dict.setStringForKey(this.getAbsolute(), "Remote");
        if(symlink != null) {
            dict.setObjectForKey(symlink, "Symbolic Link");
        }
        dict.setObjectForKey(attributes, "Attributes");
        return dict.getSerialized();
    }
@Test
    public void testDictionaryFile() {
        Path path = new Path("/path", EnumSet.of(Path.Type.file));
        assertEquals(path, new PathDictionary<>().deserialize((path.serialize(SerializerFactory.get()))));
    }