package com.github.nsnjson.decoding;

import com.fasterxml.jackson.databind.JsonNode;

import java.util.Optional;

public class Decoder {

    private static final Decoding DEFAULT_DECODING = new DefaultDecoding();

    public static Optional<JsonNode> decode(JsonNode presentation) {
        return DEFAULT_DECODING.decode(presentation);
    }

    public static Optional<JsonNode> decode(JsonNode presentation, Decoding decoding) {
        return Optional.ofNullable(decoding).orElse(DEFAULT_DECODING).decode(presentation);
    }

}
@@ -217,133 +217,489 @@
     
-public static Optional%3CJsonNode%3E decode(JsonNode presentation) %7B%0A        return DEFAULT_DECODING.decode(presentation);%0A    %7D%0A
+/**%0A     * Decodes JSON from specified NSNJSON presentation.%0A     * @param presentation NSNJSON presentation of JSON%0A     * @return JSON%0A     */%0A    public static Optional%3CJsonNode%3E decode(JsonNode presentation) %7B%0A        return DEFAULT_DECODING.decode(presentation);%0A    %7D%0A%0A    /**%0A     * Decodes JSON from specified NSNJSON presentation by custom decoding.%0A     * @param presentation NSNJSON presentation of JSON%0A     * @param decoding custom decoding%0A     * @return JSON%0A     */
 %0A   

Add documentation to { Decoder }