In
com.serotonin.bacnet4j.type.constructed.PropertyStates.java:118

public PropertyStates(int type, BaseType state) {
        this.state = new Choice(type, state);
    }

I think it should be

public PropertyStates(int type, Encodable state) {
        this.state = new Choice(type, state);
    }

Most of the possible choices for a PropertyStates object are of Enumerated type, which doesn't extend from BaseType. The Choice constructor takes an Encodable as its parameter, so it should work. In my own testing, it appears to work just fine.