protected function willFilterPage(array $operations)
 {
     $implementations = DrydockRepositoryOperationType::getAllOperationTypes();
     foreach ($operations as $key => $operation) {
         $impl = idx($implementations, $operation->getOperationType());
         if (!$impl) {
             $this->didRejectResult($operation);
             unset($operations[$key]);
             continue;
         }
         $impl = clone $impl;
         $operation->attachImplementation($impl);
     }
     $repository_phids = mpull($operations, 'getRepositoryPHID');
     if ($repository_phids) {
         $repositories = id(new PhabricatorRepositoryQuery())->setViewer($this->getViewer())->setParentQuery($this)->withPHIDs($repository_phids)->execute();
         $repositories = mpull($repositories, null, 'getPHID');
     } else {
         $repositories = array();
     }
     foreach ($operations as $key => $operation) {
         $repository = idx($repositories, $operation->getRepositoryPHID());
         if (!$repository) {
             $this->didRejectResult($operation);
             unset($operations[$key]);
             continue;
         }
         $operation->attachRepository($repository);
     }
     return $operations;
 }
 public static function initializeNewOperation(DrydockRepositoryOperationType $op)
 {
     return id(new DrydockRepositoryOperation())->setOperationState(self::STATE_WAIT)->setOperationType($op->getOperationConstant());
 }