private function getFunctionToFilterOutFieldsUserCannotRead(PFUser $user)
 {
     $formelement_factory = $this->formelement_factory;
     return function (Tracker_FormElement $field) use($user, $formelement_factory) {
         if (!$field->userCanRead($user)) {
             return false;
         }
         if ($field instanceof Tracker_FormElement_Field_Date) {
             $field_representation = new Tracker_REST_FieldDateRepresentation();
         } elseif ($field instanceof Tracker_FormElement_Field_OpenList) {
             $field_representation = new Tracker_REST_FieldOPenListRepresentation();
         } else {
             $field_representation = new Tracker_REST_FieldRepresentation();
         }
         $field_representation->build($field, $formelement_factory->getType($field), $field->exportCurrentUserPermissionsToSOAP($user));
         return $field_representation;
     };
 }
 public function build(Tracker_FormElement_Field_Date $field, $type, array $permissions)
 {
     parent::build($field, $type, $permissions);
     $this->is_time_displayed = $field->isTimeDisplayed();
 }