Buggy code:
public class Java2WSCommand extends AbstractDataModelOperation { private static String JAVA2WSDL_TOOL_CLASS_NAME = "org.apache.cxf.tools.java2wsdl.JavaToWSDL" ; private static String JAVA2WS_TOOL_CLASS_NAME = "org.apache.cxf.tools.java2ws.JavaToWS" ; private String CXF_TOOL_CLASS_NAME ; private Java2WSDataModel model ; private String projectName ; private JavaResourceChangeListener javaResourceChangeListener ; private WebContentChangeListener webContentChangeListener ; public Java2WSCommand ( Java2WSDataModel model ) { } @ Override public IStatus execute ( IProgressMonitor monitor , IAdaptable info ) throws ExecutionException { IStatus status = Status . OK_STATUS ; <START_BUG> IType startingPoint = JDTUtils . getType ( projectName , model . getJavaStartingPoint ( ) ) ; <END_BUG> javaResourceChangeListener = new JavaResourceChangeListener ( JDTUtils . getJavaProjectSourceDirectoryPath ( startingPoint ) ) ; webContentChangeListener = new WebContentChangeListener ( projectName ) ; ResourcesPlugin . getWorkspace ( ) . addResourceChangeListener ( javaResourceChangeListener , IResourceChangeEvent . POST_CHANGE ) ; ResourcesPlugin . getWorkspace ( ) . addResourceChangeListener ( webContentChangeListener , IResourceChangeEvent . POST_CHANGE ) ; if ( ( model . getDefaultRuntimeVersion ( ) . compareTo ( CXF_VERSION_2_1 ) ) >= 0 ) { CXF_TOOL_CLASS_NAME = Java2WSCommand . JAVA2WS_TOOL_CLASS_NAME ; } else { CXF_TOOL_CLASS_NAME = Java2WSCommand . JAVA2WSDL_TOOL_CLASS_NAME ; } String [ ] progArgs = CommandLineUtils . getJava2WSProgramArguments ( model ) ; try { IProject project = FileUtils . getProject ( projectName ) ; IJavaProject javaProject = JavaCore . create ( project ) ; LaunchUtils . launch ( javaProject , CXF_TOOL_CLASS_NAME , progArgs ) ; FileUtils . copyJ2WFilesFromTmp ( model ) ; if ( model . isGenerateWSDL ( ) ) { SpringUtils . loadSpringConfigInformationFromWSDL ( model ) ; } if ( ( isImplementationSelected ( ) ) || ( isGenerateServer ( ) ) ) { SpringUtils . createJAXWSEndpoint ( model ) ; } } catch ( CoreException ce ) { status = ce . getStatus ( ) ; CXFCreationCorePlugin . log ( status ) ; } catch ( IOException ioe ) { status = new Status ( IStatus . ERROR , CXFCreationCorePlugin . PLUGIN_ID , ioe . getLocalizedMessage ( ) ) ; CXFCreationCorePlugin . log ( status ) ; } finally { ResourcesPlugin . getWorkspace ( ) . removeResourceChangeListener ( javaResourceChangeListener ) ; ResourcesPlugin . getWorkspace ( ) . removeResourceChangeListener ( webContentChangeListener ) ; FileUtils . refreshProject ( projectName , monitor ) ; } return status ; } private boolean isImplementationSelected ( ) { } private boolean isGenerateServer ( ) { } @ Override public IStatus undo ( IProgressMonitor monitor , IAdaptable info ) throws ExecutionException { } public CXFDataModel getCXFDataModel ( ) { } public void setGenerateClient ( Boolean generateClient ) { } public void setGenerateServer ( Boolean generateServer ) { } public void setGenerateWrapperFaultBeans ( Boolean generateWrapperFaultBeans ) { } public void setGenerateWSDL ( Boolean generateWSDL ) { } public void setWsdlFileName ( String wsdlFileName ) { } public void setGenerateXSDImports ( Boolean generateXSDImports ) { } public void setUseSOAP12Binding ( Boolean useSOAP12Binding ) { } }

Fix:
IType startingPoint = JDTUtils . findType ( projectName , model . getJavaStartingPoint ( ) ) ;