extension= extension.substring(1);
	private SearchPatternData tryIfPropertyFileSelected(ISelection selection) {		if (selection instanceof IStructuredSelection) {			Object o= ((IStructuredSelection) selection).getFirstElement();			if (o instanceof IFile && ((IFile) o).getFileExtension().equalsIgnoreCase("properties")) { //$NON-NLS-1$				IPath propertyFullPath= ((IFile)o).getFullPath();				String typePathStr= null;				IType type= null;								String[] javaExtensions= JavaCore.getJavaLikeExtensions();				for (int i= 0; i < javaExtensions.length; i++) { 					String extension= javaExtensions[i];										// XXX, see: https://bugs.eclipse.org/bugs/show_bug.cgi?id=118246					extension= extension.substring(1);									// try to be smarter and find a corresponding CU					IPath cuPath= propertyFullPath.removeFileExtension().addFileExtension(extension);					IFile cuFile= (IFile)JavaPlugin.getWorkspace().getRoot().findMember(cuPath);					if (cuFile == null) { //try with uppercase first char						String filename= cuPath.removeFileExtension().lastSegment();						if (filename != null && filename.length() > 0) {							filename= Character.toUpperCase(filename.charAt(0)) + filename.substring(1);							IPath dirPath= propertyFullPath.removeLastSegments(1).addTrailingSeparator();							cuPath= dirPath.append(filename).addFileExtension(extension);							cuFile= (IFile)JavaPlugin.getWorkspace().getRoot().findMember(cuPath);						}					}										if (cuFile != null && cuFile.exists()) {						IJavaElement  cu= JavaCore.create(cuFile);						if (cu != null && cu.exists() && cu.getElementType() == IJavaElement.COMPILATION_UNIT)							type= ((ICompilationUnit)cu).findPrimaryType();						if (type != null)							typePathStr= JavaModelUtil.getFullyQualifiedName(type);						else {							IPath propertyFile= propertyFullPath.removeFirstSegments(propertyFullPath.segmentCount() - 1);							typePathStr= propertyFile.removeFileExtension().toString();						}						break;					}				}								return new SearchPatternData(typePathStr, type, propertyFullPath.toString());			}		}		return null;	}