Inheritance: extends AuthenticatedBaseRequest
 /**
  *
  * Edit User Profile
  *
  * @param string $firstname First Name
  * @param string $email Email
  * @param string $phoneNumber Phone Number
  * @param int $gender Gender (Constants available in User class)
  * @param string $biography Biography
  * @param string $externalUrl External Url
  * @return API\Response\EditProfileAccountResponse
  * @throws Exception
  */
 public function editUserProfile($firstname = null, $email = null, $phoneNumber = null, $gender = null, $biography = null, $externalUrl = null)
 {
     if (!$this->isLoggedIn()) {
         throw new InstagramException("You must be logged in to call editUserProfile().");
     }
     $currentUser = $this->getCurrentUserAccount()->getUser();
     if ($firstname == null) {
         $firstname = $currentUser->getFullName();
     }
     if ($email == null) {
         $email = $currentUser->getEmail();
     }
     if ($phoneNumber == null) {
         $phoneNumber = $currentUser->getPhoneNumber();
     }
     if ($gender == null) {
         $gender = $currentUser->getGender();
     }
     if ($biography == null) {
         $biography = $currentUser->getBiography();
     }
     if ($externalUrl == null) {
         $externalUrl = $currentUser->getExternalUrl();
     }
     $request = new EditProfileAccountRequest($this, $firstname, $email, $phoneNumber, $gender, $biography, $externalUrl);
     $response = $request->execute();
     if (!$response->isOk()) {
         throw new InstagramException(sprintf("Failed to editUserProfile: [%s] %s", $response->getStatus(), $response->getMessage()));
     }
     return $response;
 }