Source:
private ContactDataBuilder extractContactData(ContactDataBuilder builder, long contactId, Cursor cursor) { final ColumnProcessors processors = new ColumnProcessors(); final ColumnProcessor<ContactLabel> labelTypeProcessor = processors.forMappedEnum(ContactLabel.class, ContactLabel.values()); builder.setContactId(contactId); builder.setPhotoId(processors.forInteger().extract(cursor, Column.PHOTO_ID)); String mimeType = processors.forString().extract(cursor, Column.MIMETYPE); String data = processors.forString().extract(cursor, Column.DATA1); int isPrimary = processors.forInteger().extract(cursor, Column.IS_PRIMARY); if (mimeType.equals(Email.CONTENT_ITEM_TYPE)) { builder.addEmailId(data); } else if (mimeType.equals(Phone.CONTENT_ITEM_TYPE)) { ContactLabel labelType = labelTypeProcessor.extract(cursor, Column.DATA2); builder.addPhoneNumber(new ContactNumber(data, isPrimary > 0, labelType)); } else if (mimeType.equals(StructuredName.CONTENT_ITEM_TYPE)) { PersonNameDataBuilder nameBuilder = new PersonNameDataBuilder(); nameBuilder.setDisplayName(data); nameBuilder.setGivenName(processors.forString().extract(cursor, Column.DATA2)); nameBuilder.setFamilyName(processors.forString().extract(cursor, Column.DATA3)); nameBuilder.setPrefix(processors.forString().extract(cursor, Column.DATA4)); nameBuilder.setMiddleName(processors.forString().extract(cursor, Column.DATA5)); nameBuilder.setSuffix(processors.forString().extract(cursor, Column.DATA6)); builder.setName(nameBuilder); } else { for (AppEnum app : AppEnum.values()) { if (app.getMimeType().equals(mimeType)) { builder.addAppContact(new AppContact(app, data, (long) processors.forInteger().extract(cursor, Column._ID))); } } } return builder; }

Target:
private ContactDataBuilder extractContactData(ContactDataBuilder builder, long contactId, Cursor cursor) { final ColumnProcessors processors = new ColumnProcessors(); final ColumnProcessor<ContactLabel> labelTypeProcessor = processors.forMappedEnum(ContactLabel.class, ContactLabel.values()); builder.setContactId(contactId); builder.setPhotoId(processors.forInteger().extract(cursor, Column.PHOTO_ID)); String mimeType = processors.forString().extract(cursor, Column.MIMETYPE); String data = processors.forString().extract(cursor, Column.DATA1); int isPrimary = processors.forInteger().extract(cursor, Column.IS_PRIMARY); if (mimeType.equals(Email.CONTENT_ITEM_TYPE)) { builder.addEmailId(data); } else if (mimeType.equals(Phone.CONTENT_ITEM_TYPE)) { ContactLabel labelType = labelTypeProcessor.extract(cursor, Column.DATA2); builder.addPhoneNumber(new ContactNumber(data, isPrimary > 0, labelType)); } else if (mimeType.equals(StructuredName.CONTENT_ITEM_TYPE)) { PersonNameDataBuilder nameBuilder = new PersonNameDataBuilder(); nameBuilder.setDisplayName(data); nameBuilder.setGivenName(processors.forString().extract(cursor, Column.DATA2)); nameBuilder.setFamilyName(processors.forString().extract(cursor, Column.DATA3)); nameBuilder.setPrefix(processors.forString().extract(cursor, Column.DATA4)); nameBuilder.setMiddleName(processors.forString().extract(cursor, Column.DATA5)); nameBuilder.setSuffix(processors.forString().extract(cursor, Column.DATA6)); builder.setName(nameBuilder); } else { AppEnum appEnum = AppEnum.getAppEnum(mimeType); if (appEnum != null) { builder.addAppContact(new AppContact(appEnum, data, processors.forLong().extract(cursor, Column._ID))); } } return builder; }