Buggy code:
public abstract class Extensions { public static final String OPENJPA = "openjpa" ; private static final Localizer _loc = Localizer . forPackage ( Extensions . class ) ; private Map _exts = null ; private Map _embed = null ; public boolean isEmpty ( ) { } public String [ ] getExtensionVendors ( ) { } public String [ ] getExtensionKeys ( ) { } public String [ ] getExtensionKeys ( String vendor ) { } public boolean hasExtension ( String key ) { } public boolean hasExtension ( String vendor , String key ) { } public void addExtension ( String key , Object value ) { } public void addExtension ( String vendor , String key , Object value ) { } public boolean removeExtension ( String key ) { } public boolean removeExtension ( String vendor , String key ) { } public Object getObjectExtension ( String key ) { } public Object getObjectExtension ( String vendor , String key ) { } public String getStringExtension ( String key ) { } public String getStringExtension ( String vendor , String key ) { } public int getIntExtension ( String key ) { } public int getIntExtension ( String vendor , String key ) { } public double getDoubleExtension ( String key ) { } public double getDoubleExtension ( String vendor , String key ) { } public boolean getBooleanExtension ( String key ) { } public boolean getBooleanExtension ( String vendor , String key ) { } public Extensions getEmbeddedExtensions ( String key , boolean create ) { } public Extensions getEmbeddedExtensions ( String vendor , String key , boolean create ) { } public boolean removeEmbeddedExtensions ( String key ) { } public boolean removeEmbeddedExtensions ( String vendor , String key ) { } protected void copy ( Extensions exts ) { } public void validateExtensionKeys ( ) { if ( ( ( _exts ) == null ) || ( _exts . isEmpty ( ) ) ) return ; OpenJPAConfiguration conf = getRepository ( ) . getConfiguration ( ) ; Log log = conf . getLog ( conf . LOG_METADATA ) ; if ( ! ( log . isWarnEnabled ( ) ) ) return ; Collection validNames = new TreeSet ( ) ; addExtensionKeys ( validNames ) ; <START_BUG> String prefixes = Extensions . _loc . get ( "extension-datastore-prefix" ) ; <END_BUG> String [ ] allowedPrefixes = null ; if ( prefixes != null ) allowedPrefixes = Strings . split ( prefixes , "," , 0 ) ; Object next ; String key ; outer : for ( Iterator itr = _exts . keySet ( ) . iterator ( ) ; itr . hasNext ( ) ; ) { next = itr . next ( ) ; if ( ! ( Extensions . OPENJPA . equals ( getVendor ( next ) ) ) ) continue ; key = getKey ( next ) ; if ( validNames . contains ( key ) ) continue ; if ( allowedPrefixes != null ) { for ( int j = 0 ; j < ( allowedPrefixes . length ) ; j ++ ) { if ( ( key . startsWith ( allowedPrefixes [ j ] ) ) && ( ! ( validateDataStoreExtensionPrefix ( allowedPrefixes [ j ] ) ) ) ) continue outer ; } } String closestName = StringDistance . getClosestLevenshteinDistance ( key , validNames , 0.5F ) ; if ( closestName == null ) log . warn ( Extensions . _loc . get ( "unrecognized-extension" , this , key , validNames ) ) ; else log . warn ( Extensions . _loc . get ( "unrecognized-extension-hint" , new Object [ ] { this , key , validNames , closestName } ) ) ; } } protected void addExtensionKeys ( Collection exts ) { } protected boolean validateDataStoreExtensionPrefix ( String prefix ) { } public abstract MetaDataRepository getRepository ( ) { } private Object getHashKey ( String vendor , String key ) { } private String getVendor ( Object hashKey ) { } private String getKey ( Object hashKey ) { } private static class HashKey { public final String vendor ; public final String key ; public HashKey ( String vendor , String key ) { } public int hashCode ( ) { } public boolean equals ( Object other ) { } } private static class EmbeddedExtensions extends Extensions { private final Extensions _parent ; public EmbeddedExtensions ( Extensions parent ) { } public MetaDataRepository getRepository ( ) { } } }

Fix:
String prefixes = Extensions . _loc . get ( "extension-datastore-prefix" ) . getMessage ( ) ;