/** * checks for invalid filenames * i.e. illegal char * but not length * @param str * @return */ default Optional<String> filenameIsNotValidBecause( String str ) { return getIllegalCharacters(). filter( pat -> pat.matcher( str ).matches() ). map( p -> "contains an illegal character " + str ); }