Retrieving Data Constraint Implementations Using Fine-Grained Code Patterns