public static function create(array $data, $self = null)
 {
     if ($self == null) {
         $self = new self();
     }
     if (isset($data['id'])) {
         $self->setId($data['id']);
     }
     if (isset($data['token'])) {
         $self->setToken($data['token']);
     }
     if (isset($data['refresh_token'])) {
         $self->setRefreshToken($data['refresh_token']);
     }
     if (isset($data['grant_type'])) {
         $self->setGrantType($data['grant_type']);
     }
     if (isset($data['status'])) {
         $self->setStatus($data['status']);
     }
     if (isset($data['expires'])) {
         $self->setExpires($data['expires']);
     }
     return $self;
 }