Bukkit/CraftBukkit — comment on commit a1b86a1fe14c7689d4e799033636bcd87852e199
File: src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java line 553
By Dinnerbone:

CraftPlayer implements Player extends OfflinePlayer.

OfflinePlayer is poorly named, because of compatibility issues; it should be, Player is OnlinePlayer and OfflinePlayer is Player. OfflinePlayer isn't restricted to just offline people, it's a handle to anyone's data whether they're online or offline.