code: private boolean shouldIgnoreCase(final Part part) {
  		final Class<?> propertyClass = part.getProperty().getLeafProperty().getType();
  		final boolean isLowerable = String.class.isAssignableFrom(propertyClass);
  		final boolean shouldIgnoreCase = part.shouldIgnoreCase() != Part.IgnoreCaseType.NEVER && isLowerable
  				&& !UNSUPPORTED_IGNORE_CASE.contains(part.getType());
  		if (part.shouldIgnoreCase() == Part.IgnoreCaseType.ALWAYS
  				&& (!isLowerable || UNSUPPORTED_IGNORE_CASE.contains(part.getType()))) {
  			LOGGER.debug("Ignoring case for \"{}\" type is meaningless", propertyClass);
  		}
  		return shouldIgnoreCase;
  	}
docs: Determines whether the case for a Part should be ignored based on property type and IgnoreCase keywords in the
  method name
  
  @param part
  @return