CharSequence () { FileType unsubstitutedFileType = getFileTypeWithoutSubstitution(this); if (unsubstitutedFileType.isBinary()) { throw new UnsupportedOperationException("Cannot obtain text for binary file type : " + unsubstitutedFileType.getDescription()); } final CharSequence content = getUserData(IndexingDataKeys.FILE_TEXT_CONTENT_KEY); if (content != null) { return content; } if (myContentAsText == null) { myContentAsText = LoadTextUtil.getTextByBinaryPresentation(computeOriginalContent(), myFile, false, false); } return myContentAsText; }