src/main/java/com/cedarsoftware/util/io/JsonWriter.java
public boolean writeIfMatching(Object o, boolean showType, Writer output)
    {
        if (neverShowType)
        {
            showType = false;
        }
        Class c = o.getClass();
        if (notCustom.contains(c))
        {
            return false;
        }

        try
        {
            return writeCustom(c, o, showType, output);
        }
        catch (IOException e)
        {
            throw new JsonIoException("Unable to write custom formatted object:", e);
        }
    }
public boolean writeIfMatching(Object o, boolean showType, Writer output)
    {
        if (neverShowType)
        {
            showType = false;
        }
        Class c = o.getClass();
        if (notCustom.contains(c))
        {
            return false;
        }

        try
        {
            return writeCustom(c, o, showType, output);
        }
        catch (IOException e)
        {
            throw new JsonIoException("Unable to write custom formatted object:", e);
        }
    }
Write the passed in object (o) to the JSON output stream, if and only if, there is a custom
writer associated to the Class of object (o).
@param o Object to be (potentially written)
@param showType boolean indicating whether or not to show @type.
@param output Writer where the actual JSON is being written to.
@return boolean true if written, false is there is no custom writer for the passed in object.