+ return getRemoteObjectOrStory(command, false);
+ }
+
+ /**
+ * Return an object from the server.
+ *
+ * @param command
+ * the command to send (can contain at most ONE {@link Story})
+ *
+ * @return the object or NULL
+ */
+ private Story getRemoteStory(final Object[] command) {
+ return getRemoteObjectOrStory(command, true);
+ }
+
+ /**
+ * Return an object from the server.
+ *
+ * @param <T>
+ * the expected type of object
+ * @param command
+ * the command to send (can contain at most ONE {@link Story})
+ *
+ * @return the object or NULL
+ */
+ @SuppressWarnings("unchecked")
+ private <T> T getRemoteObjectOrStory(final Object[] command,
+ final boolean getStory) {