@SuppressWarnings("unchecked")
    public Object getFirstKeyPart() {
        Object keyPart = null;
        if (this.key.value() instanceof List && !((List<Object>) this.key.value()).isEmpty()) {
            keyPart = ((List<Object>) this.key.value()).get(0);
        } else {
            // UniqueKey or MultitontKey with only one key part
            keyPart = this.key.value();
        }
        return keyPart;
    }
@ SuppressWarnings ( "unchecked" ) public Object getFirstKeyPart ( ) { Object keyPart = null ; if ( this . key . value ( ) instanceof List && ! ( ( List < Object > ) this . key . value ( ) ) . isEmpty ( ) ) { keyPart = ( ( List < Object > ) this . key . value ( ) ) . get ( 0 ) ; } else { keyPart = this . key . value ( ) ; } return keyPart ; }
Return the first key part of the {@link MultitonKey} or the component class type for {@link UniqueKey}.

@return Returns the first key part or the component type.