From 0c9e223a0f72b28d5d398671a03f9021afd20f0d Mon Sep 17 00:00:00 2001
From: =?utf8?q?David=20=E2=80=98Bombe=E2=80=99=20Roden?=
 <bombe@pterodactylus.net>
Date: Thu, 14 Oct 2010 14:42:01 +0200
Subject: [PATCH] Change contract of Shell.getShelled().

---
 src/main/java/net/pterodactylus/sone/data/PostShell.java  | 2 +-
 src/main/java/net/pterodactylus/sone/data/ReplyShell.java | 2 +-
 src/main/java/net/pterodactylus/sone/data/Shell.java      | 8 ++++----
 src/main/java/net/pterodactylus/sone/data/SoneShell.java  | 2 +-
 4 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/src/main/java/net/pterodactylus/sone/data/PostShell.java b/src/main/java/net/pterodactylus/sone/data/PostShell.java
index 36dba42..df66b20 100644
--- a/src/main/java/net/pterodactylus/sone/data/PostShell.java
+++ b/src/main/java/net/pterodactylus/sone/data/PostShell.java
@@ -204,7 +204,7 @@ public class PostShell extends Post implements Shell<Post> {
 				post.addReply(reply);
 			}
 		}
-		return null;
+		return this;
 	}
 
 }
diff --git a/src/main/java/net/pterodactylus/sone/data/ReplyShell.java b/src/main/java/net/pterodactylus/sone/data/ReplyShell.java
index fcab34a..03a4c53 100644
--- a/src/main/java/net/pterodactylus/sone/data/ReplyShell.java
+++ b/src/main/java/net/pterodactylus/sone/data/ReplyShell.java
@@ -183,7 +183,7 @@ public class ReplyShell extends Reply implements Shell<Reply> {
 		if (canUnshell()) {
 			return new Reply(sone, id, post, time, text);
 		}
-		return null;
+		return this;
 	}
 
 }
diff --git a/src/main/java/net/pterodactylus/sone/data/Shell.java b/src/main/java/net/pterodactylus/sone/data/Shell.java
index 9f1fc9b..8d7068e 100644
--- a/src/main/java/net/pterodactylus/sone/data/Shell.java
+++ b/src/main/java/net/pterodactylus/sone/data/Shell.java
@@ -36,11 +36,11 @@ public interface Shell<T> {
 	public boolean canUnshell();
 
 	/**
-	 * Returns the object that is shelled. Returns {@code null} if the real
-	 * object has not yet been retrieved.
+	 * Returns the object that is shelled. This method with return the shell
+	 * itself if {@link #canUnshell()} returns {@code false} and will return the
+	 * real object once {@link #canUnshell()} returns true.
 	 *
-	 * @return The shelled object, or {@code null} if the shelled object is not
-	 *         retrieved yet
+	 * @return The shelled object, or the shell itself
 	 */
 	public T getShelled();
 
diff --git a/src/main/java/net/pterodactylus/sone/data/SoneShell.java b/src/main/java/net/pterodactylus/sone/data/SoneShell.java
index 8b2f727..50b1189 100644
--- a/src/main/java/net/pterodactylus/sone/data/SoneShell.java
+++ b/src/main/java/net/pterodactylus/sone/data/SoneShell.java
@@ -297,7 +297,7 @@ public class SoneShell extends Sone implements Shell<Sone> {
 			}
 			return sone;
 		}
-		return null;
+		return this;
 	}
 
 }
-- 
2.7.4