Buggy code:
public class WSRefAnnotationProcessor implements DeploymentUnitProcessor { public void deploy ( final DeploymentPhaseContext phaseContext ) throws DeploymentUnitProcessingException { } public void undeploy ( final DeploymentUnit unit ) { } private static void processFieldRef ( final DeploymentUnit unit , final WSRefAnnotationWrapper annotation , final FieldInfo fieldInfo ) throws DeploymentUnitProcessingException { } private static void processMethodRef ( final DeploymentUnit unit , final WSRefAnnotationWrapper annotation , final MethodInfo methodInfo ) throws DeploymentUnitProcessingException { final String methodName = methodInfo . name ( ) ; if ( ( ! ( methodName . startsWith ( "set" ) ) ) || ( ( methodInfo . args ( ) . length ) != 1 ) ) { throw WSMessages . MESSAGES . invalidServiceRefSetterMethodName ( methodInfo ) ; } final String injectionType = ( ( WSRefAnnotationProcessor . isEmpty ( annotation . type ( ) ) ) || ( annotation . type ( ) . equals ( Object . class . getName ( ) ) ) ) ? methodInfo . args ( ) [ 0 ] . name ( ) . toString ( ) : annotation . type ( ) ; final InjectionTarget injectionTarget = new org . jboss . as . ee . component . MethodInjectionTarget ( methodInfo . declaringClass ( ) . name ( ) . toString ( ) , methodName , injectionType ) ; <START_BUG> final String bindingName = ( WSRefAnnotationProcessor . isEmpty ( annotation . name ( ) ) ) ? ( ( ( methodInfo . declaringClass ( ) . name ( ) . toString ( ) ) + "//" ) + ( methodName . substring ( 3 , 4 ) . toLowerCase ( ) ) ) + ( methodName . substring ( 4 ) ) : annotation . name ( ) ; <END_BUG> WSRefAnnotationProcessor . processRef ( unit , injectionType , annotation , methodInfo . declaringClass ( ) , injectionTarget , bindingName ) ; } private static void processClassRef ( final DeploymentUnit unit , final WSRefAnnotationWrapper annotation , final ClassInfo classInfo ) throws DeploymentUnitProcessingException { } private static void processRef ( final DeploymentUnit unit , final String type , final WSRefAnnotationWrapper annotation , final ClassInfo classInfo , final InjectionTarget injectionTarget , final String bindingName ) throws DeploymentUnitProcessingException { } private static void processWSFeatures ( final DeploymentUnit unit , final UnifiedServiceRefMetaData serviceRefUMDM , final InjectionTarget injectionTarget , final ClassInfo classInfo ) throws DeploymentUnitProcessingException { } private static UnifiedServiceRefMetaData getServiceRef ( final DeploymentUnit unit , final ComponentDescription componentDescription , final String serviceRefName ) { } private static String getCacheKey ( final ComponentDescription componentDescription , final String serviceRefName ) { } private static void processInjectionTarget ( final DeploymentUnit unit , final UnifiedServiceRefMetaData serviceRefUMDM , final ClassInfo classInfo ) throws DeploymentUnitProcessingException { } private static void processInjectionTarget ( final DeploymentUnit unit , final UnifiedServiceRefMetaData serviceRefUMDM , final InjectionTarget injectionTarget ) throws DeploymentUnitProcessingException { } private static String getInjectionTargetName ( final InjectionTarget injectionTarget ) { } private static UnifiedServiceRefMetaData initServiceRef ( final DeploymentUnit unit , final UnifiedServiceRefMetaData serviceRefUMDM , final String type , final WSRefAnnotationWrapper annotation ) throws DeploymentUnitProcessingException { } private static Class < ? > getClass ( final ClassLoader classLoader , final String className ) throws DeploymentUnitProcessingException { } private static UnifiedVirtualFile getUnifiedVirtualFile ( final DeploymentUnit unit ) { } private static boolean isEmpty ( final String string ) { } }

Fix:
final String bindingName = ( WSRefAnnotationProcessor . isEmpty ( annotation . name ( ) ) ) ? ( ( ( methodInfo . declaringClass ( ) . name ( ) . toString ( ) ) + "//" ) + ( methodName . substring ( 3 , 4 ) . toLowerCase ( Locale . ENGLISH ) ) ) + ( methodName . substring ( 4 ) ) : annotation . name ( ) ;