PageFactory returning Exception using Java-client

Please see my testcase and pages below-

TestCase:
public class SampleTest {

private IOSDriver driver;
private ImageInfoPage infoPage;
private EditImageDescriptionPage descPage;
private EditImageTitlePage titlePage;

@Before
public void setUp() throws Exception{
	driver=AppurifyUtil.getDriver();
}

@Test
public void testApp() throws Exception{
	Thread.sleep(10000);
	infoPage=new ImageInfoPage(driver);
	titlePage=infoPage.clickEditTitleBtn();
	titlePage.setCaptionEdit("Hoola");
	infoPage=titlePage.clickDoneBtn();
	Thread.sleep(3000);
	**descPage=infoPage.clickEditDescriptionBtn();**//Error is happening here
	descPage.setCaptionEdit("Hooooooola");
	descPage.clickDoneBtn();
	Thread.sleep(5000);
}

}

Pages:

ImageInfoPage

public class ImageInfoPage extends AbstractPage{

public ImageInfoPage(IOSDriver driver) {
	super(driver);
	loadPage();
}

@iOSFindBy(name = "Edit TITLE")
private WebElement btnEditTitle;

@iOSFindBy(name = "Edit DESCRIPTION")
private WebElement btnEditDescription;

@iOSFindBy(name = "Edit PRIVACY")
private WebElement btnEditPrivacy;

@iOSFindBy(name = "Edit PEOPLE IN THIS PHOTO")
private WebElement btnEditPeople;


public EditImageTitlePage clickEditTitleBtn(){
    btnEditTitle.click();
    return new EditImageTitlePage(driver);
}

public EditImageDescriptionPage clickEditDescriptionBtn(){
    btnEditDescription.click();
    return new EditImageDescriptionPage(driver);
}

}

#EditImageTitlePage
public class EditImageTitlePage extends AbstractPage{

public EditImageTitlePage(IOSDriver driver) {
	super(driver);
	loadPage();
}

@iOSFindBy(name = "Close")
private WebElement btnClose;

@iOSFindBy(name = "Edit Title")
private WebElement txtTitle;

@iOSFindBy(name = "Done")
private WebElement btnDone;

@iOSFindBy(name = "Caption")
private WebElement editCaption;

public ImageInfoPage clickCloseBtn(){
    btnClose.click();
    return new ImageInfoPage(driver);
}

public boolean verifyTitleTxt(){
   return txtTitle.isDisplayed();
}

public ImageInfoPage clickDoneBtn(){
    btnDone.click();
    return new ImageInfoPage(driver);
}

public void setCaptionEdit(String txtTitle){
    editCaption.clear();
    editCaption.sendKeys(txtTitle);
}

public String getCaptionEditText(){
    return editCaption.getAttribute("value");
}

public void clearCaptionEdit(){
    editCaption.clear();
}

public boolean verifyCaptionEdit(String newTitle){
    return editCaption.getAttribute("value").equals(newTitle);
}

}

#EditImageDescriptionPage
public class EditImageDescriptionPage extends AbstractPage{

public EditImageDescriptionPage(IOSDriver driver) {
	super(driver);
	loadPage();
}

@iOSFindBy(name = "Close")
private WebElement btnClose;

@iOSFindBy(name = "Edit Description")
private WebElement txtDescription;

@iOSFindBy(name = "Done")
private WebElement btnDone;

@iOSFindBy(name = "Caption")
private WebElement editCaption;

public ImageInfoPage clickCloseBtn(){
    btnClose.click();
    return new ImageInfoPage(driver);
}

public boolean verifyTitleTxt(){
    return txtDescription.isDisplayed();
}

public ImageInfoPage clickDoneBtn(){
    btnDone.click();
    return new ImageInfoPage(driver);
}

public void setCaptionEdit(String txtTitle){
    editCaption.clear();
    editCaption.sendKeys(txtTitle);
}

public String getCaptionEditText(){
    return editCaption.getAttribute("value");
}

public void clearCaptionEdit(){
    editCaption.clear();
}

public boolean verifyCaptionEdit(String newTitle){
    return editCaption.getAttribute("value").equals(newTitle);
}

}

Here is the error log trace-
java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:483)
at io.appium.java_client.pagefactory.ElementInterceptor.intercept(ElementInterceptor.java:27)
at org.openqa.selenium.remote.RemoteWebElement$$EnhancerByCGLIB$$33890cdb.click()
at pages.ImageInfoPage.clickEditDescriptionBtn(ImageInfoPage.java:35)
at tests.SampleTest.testApp(SampleTest.java:33)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:483)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229)
at org.junit.runners.ParentRunner.run(ParentRunner.java:309)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50)
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:459)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:675)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:382)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:192)
Caused by: org.openqa.selenium.WebDriverException: An unknown server-side error occurred while processing the command. (WARNING: The server did not provide any stacktrace information)
Command duration or timeout: 1.38 seconds
Build info: version: ‘2.44.0’, revision: ‘76d78cf’, time: ‘2014-10-23 20:02:37’
System info: host: ‘gentleknow-lm’, ip: ‘10.75.154.235’, os.name: ‘Mac OS X’, os.arch: ‘x86_64’, os.version: ‘10.10.1’, java.version: ‘1.8.0_25’
Driver info: io.appium.java_client.ios.IOSDriver
Capabilities [{networkConnectionEnabled=false, warnings={}, bundleId=com.yahoo.flickr, databaseEnabled=false, deviceName=iPhone, platform=MAC, desired={newCommandTimeout=60, platformVersion=8.1, automationName=Appium, bundleId=com.yahoo.flickr, udid=5e66e1067a0afea89be55a2d06322a98344023bb, platformName=iOS, deviceName=iPhone}, newCommandTimeout=60, platformVersion=8.1, webStorageEnabled=false, locationContextEnabled=false, automationName=Appium, browserName=iOS, takesScreenshot=true, javascriptEnabled=true, udid=5e66e1067a0afea89be55a2d06322a98344023bb, platformName=iOS}]
Session ID: 62de2267-c168-4b7b-890d-312db60a0a7f
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:408)
at org.openqa.selenium.remote.ErrorHandler.createThrowable(ErrorHandler.java:204)
at org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java:156)
at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:599)
at io.appium.java_client.AppiumDriver.execute(AppiumDriver.java:180)
at org.openqa.selenium.remote.RemoteWebElement.execute(RemoteWebElement.java:268)
at org.openqa.selenium.remote.RemoteWebElement.click(RemoteWebElement.java:79)
… 32 more