LombokNullAnnotationLibrary (String value) { if (StringUtil.toLowerCase(value).startsWith("custom:")) { String customConfigValue = value.substring("custom:".length()); final boolean useType = StringUtil.toLowerCase(customConfigValue).startsWith("type_use:"); if (useType) { customConfigValue = customConfigValue.substring("type_use:".length()); } String nonNullAnnotation, nullableAnnotation = null; final int splitIndex = customConfigValue.indexOf(':'); if (splitIndex == -1) { nonNullAnnotation = customConfigValue; } else { nonNullAnnotation = customConfigValue.substring(0, splitIndex); nullableAnnotation = customConfigValue.substring(splitIndex + 1); } if (verifyTypeName(nonNullAnnotation) && (null == nullableAnnotation || verifyTypeName(nullableAnnotation))) { return new LombokNullAnnotationLibraryCustom(nonNullAnnotation, nullableAnnotation, useType); } } return null; }