class NullType implements ResolvedType {

    public static final NullType INSTANCE = new NullType();

    private NullType() {
        // prevent instantiation
    }

    @Override
    public boolean isArray() {
        return false;
    }

    public boolean isNull() {
        return true;
    }

    @Override
    public boolean isReferenceType() {
        return false;
    }

    @Override
    public String describe() {
        return "null";
    }

    @Override
    public boolean isTypeVariable() {
        return false;
    }

    @Override
    public boolean isAssignableBy(ResolvedType other) {<FILL_FUNCTION_BODY>}

}

        throw new UnsupportedOperationException("It does not make sense to assign a value to null, it can only be assigned");
    
<no_super_class>