class ContactResolversImpl implements ContactResolvers {

    @Override
    public DataFetcher<Contact> updateContactDataFetcher() {
        return environment -> {
            long contactId = util.getLongArg(environment, "contactId");
            String emailAddress = util.getStringArg(environment, "emailAddress");
            String firstName = util.getStringArg(environment, "firstName");
            String middleName = util.getStringArg(environment, "middleName");
            String lastName = util.getStringArg(environment, "lastName");
            long prefixId = util.getLongArg(environment, "prefixId");
            long suffixId = util.getLongArg(environment, "suffixId");
            boolean male = util.getBooleanArg(environment, "male", true);
            int birthdayMonth = util.getIntArg(environment, "birthdayMonth");
            int birthdayDay = util.getIntArg(environment, "birthdayDay");
            int birthdayYear = util.getIntArg(environment, "birthdayYear");
            String smsSn = util.getStringArg(environment, "smsSn");
            String facebookSn = util.getStringArg(environment, "facebookSn");
            String jabberSn = util.getStringArg(environment, "jabberSn");
            String skypeSn = util.getStringArg(environment, "skypeSn");
            String twitterSn = util.getStringArg(environment, "twitterSn");
            String jobTitle = util.getStringArg(environment, "jobTitle");

            return contactLocalService.updateContact(
                    contactId,
                    emailAddress,
                    firstName,
                    middleName,
                    lastName,
                    prefixId,
                    suffixId,
                    male,
                    birthdayMonth,
                    birthdayDay,
                    birthdayYear,
                    smsSn,
                    facebookSn,
                    jabberSn,
                    skypeSn,
                    twitterSn,
                    jobTitle);
        };
    }

}