public function populateFromSources(SS_HTTPRequest $request = null, Member $member = null, array $required = null) {
		$dataPath = "FormInfo.{$this->FormName()}.data";
		if(isset($member)) {
			$this->loadDataFrom($member);
		}
		else if(isset($request)) {
			$this->loadDataFrom($request->postVars());
		}
		// Hacky again :(
		else if(Session::get($dataPath)) {
			$this->loadDataFrom(Session::get($dataPath));
		}
		else if($failover = $this->getSessionData()) {
			$this->loadDataFrom($failover);
		}
		if(!empty($required)) {
			$this->setRequiredFields($required);
		}
		return $this;
	}