@Override
    public Map<String, Validator> getValidations() {
        return ImmutableMap.<String, Validator>builder()
                .put(USERNAME, new LimitedStringValidator(1, MAX_USERNAME_LENGTH))
                .put(PASSWORD, new FilledStringValidator())
                .put(EMAIL, new LimitedStringValidator(1, MAX_EMAIL_LENGTH))
                .put(FIRST_NAME, new LimitedOptionalStringValidator(MAX_FIRST_LAST_NAME_LENGTH))
                .put(LAST_NAME, new LimitedOptionalStringValidator(MAX_FIRST_LAST_NAME_LENGTH))
                .put(FULL_NAME, new LimitedOptionalStringValidator(MAX_FULL_NAME_LENGTH))
                .put(PERMISSIONS, new ListValidator())
                .put(ROLES, new ListValidator(true))
                .build();
    }
@Test
    public void testLastNameLengthValidation() {
        user = createUserImpl(null, null, null);
        ValidationResult result = user.getValidations().get(UserImpl.LAST_NAME)
                                      .validate(StringUtils.repeat("*", 10));
        assertTrue(result.passed());
        result = user.getValidations().get(UserImpl.LAST_NAME)
                     .validate(StringUtils.repeat("*", 210));
        assertFalse(result.passed());
    }