public TypeFieldDrawer(
     SerializedClassTypeReference serializedTypeRef,
     Rect position,
     TypeDropDownDrawer dropDownDrawer)
 {
     _serializedTypeRef = serializedTypeRef;
     _position          = position;
     _dropDownDrawer    = dropDownDrawer;
 }
        private void DrawTypeReferenceField(Rect position, SerializedProperty property)
        {
            var constraints       = attribute as ClassTypeConstraintAttribute;
            var serializedTypeRef = new SerializedClassTypeReference(property);

            var dropDown = new TypeDropDownDrawer(
                serializedTypeRef.TypeNameAndAssembly,
                constraints,
                fieldInfo?.DeclaringType);

            var fieldDrawer = new TypeFieldDrawer(serializedTypeRef, position, dropDown);

            fieldDrawer.Draw();
        }