if (definingClass != null) {
type.setTypeArguments(definingClass.getType().getTypeArguments());
}
element.setType(type);
if (element instanceof PropertyAccessorElement) {
PropertyAccessorElement accessor = (PropertyAccessorElement) element;
PropertyInducingElementImpl variable = (PropertyInducingElementImpl) accessor.getVariable();
if (accessor.isGetter()) {
variable.setType(type.getReturnType());
} else if (variable.getType() == null) {
Type[] parameterTypes = type.getNormalParameterTypes();
if (parameterTypes != null && parameterTypes.length > 0) {
variable.setType(parameterTypes[0]);