does not need to be public anymore, thanks to isAcceptableField()