code: protected boolean isPreferable(E element, Class<?> elementType, E existing, Class<?> currentType) {
  
      return false;
    }
docs: This method determines if the given {@code element} should be {@link #get(Class) associated} with
  {@code currentType} in preference to the element {@code existing} that is already registered and will be replaced
  according to the result of this method.
  
  @param element is the element to register.
  @param elementType is the type for which the given {@code element} is to be registered originally.
  @param existing is the element that has already been registered before and is {@link #get(Class) associated} with
  {@code currentType}.
  @param currentType is the registration type.
  @return {@code true} if the given {@code element} is preferable and should replace {@code existing} for
  {@code currentType}, {@code false} otherwise (if {@code existing} should remain {@link #get(Class)
  associated} with {@code currentType} ).