Class<?> propertyReturnType = propertyMethod.getReturnType();
String propertySimpleType = propertyReturnType.getSimpleName();
String paramSimpleType = Signature.getSignatureSimpleName(paramTypeSignature);
if (propertySimpleType != null && !(propertySimpleType.equals(paramSimpleType))) {
element.setElementSourceLocation(new JavaModelSourceLocation(params[0]));
ISourceRange paramSourceRange = params[0].getSourceRange();
ValidationProblemAttribute start = new ValidationProblemAttribute(
IMarker.CHAR_START, paramSourceRange.getOffset());
ValidationProblemAttribute end = new ValidationProblemAttribute(
IMarker.CHAR_END, paramSourceRange.getOffset() + paramSourceRange.getLength());
ValidationProblemAttribute problemId = new ValidationProblemAttribute(IMarker.PROBLEM, PROBLEM_ID);
ValidationProblemAttribute propertyType = new ValidationProblemAttribute(PROPERTY_TYPE_ATTR, propertyReturnType.getSimpleName());
ValidationProblemAttribute propertyTypePackage = new ValidationProblemAttribute(PROPERTY_TYPE_PACKAGE_ATTR, propertyReturnType.getPackage().getName());
context.warning(element, "SpringDataProbleMarker",
"Parameter type (" + paramSimpleType + ") does not match domain class property definition (" + propertySimpleType + ").",