public static function run($dataDir = null)
 {
     # Create instance of Diagram
     $diagram = new Diagram($dataDir . "Drawing.vsd");
     $shapes = $diagram->getPages()->getPage(0)->getShapes();
     $i = 0;
     while ($i < (int) (string) $shapes->getCount()) {
         $shape = $shapes->get($i);
         if ($shape->getNameU() == "Process") {
             $source_shape = $shape;
             break;
         }
         $i += 1;
     }
     # Find the required style sheet
     $stylesheets = $diagram->getStyleSheets();
     $j = 0;
     while ($j < (int) (string) $stylesheets->getCount()) {
         $stylesheet = $stylesheets->get($j);
         if ($stylesheet->getName() == "Basic") {
             $custom_stylesheet = $stylesheet;
             break;
         }
         $j += 1;
     }
     if ($source_shape != null && $custom_stylesheet != null) {
         # Apply text style
         $source_shape->setTextStyle($custom_stylesheet);
         # Apply fill style
         $source_shape->setFillStyle($custom_stylesheet);
         # Apply line style
         $source_shape->setLineStyle($custom_stylesheet);
     }
     # Save diagram
     $saveFileFormat = new SaveFileFormat();
     $diagram->save($dataDir . "ApplyCustomStyleSheet.vdx", $saveFileFormat->VDX);
     print "Applied custom stylesheet to a visio diagram." . PHP_EOL;
 }