public User find(final String username) throws DataNotFoundException {
		if(!cache.containsValue(username)) {
			throw new DataNotFoundException("Username "+username+" is not exist in file!\n");
		}
		BufferedReader reader = null;
		User user = null;
		try {
			final File dataSource = new File(filePath);
			if(!dataSource.exists()) {
				dataSource.createNewFile();
			}
			reader = new BufferedReader(new FileReader(dataSource));
			String line;
			while((line = reader.readLine()) != null) { // NOPMD by tomascejka on 26.4.13 14:55
				final String[] items = line.split("\\"+SEPARATOR,3);
				if(items[1].equals(username)) {
					final String decrypt = PasswordManager.decrypt(items[2]);					
					user = new User(Integer.valueOf(items[0]), items[1], decrypt.toCharArray());
					break;
				}
			}
		} catch (FileNotFoundException e) {
			throw new ConsoleException(FILE_FOUND_FAIL, e);
		} catch (IOException e) {
			throw new ConsoleException(READ_FAIL, e);
		} finally {
			Tool.close(reader);
		}
		if(user == null) {
			throw new DataNotFoundException("Username "+username+" is not exist!");
		}
		return user;
	}