@Override
 public void processAnnotationUpdated(
     ModuleMetaModel metaModel,
     AnnotationKey key,
     AnnotationState removed,
     AnnotationState added) {
   if (key.getType().equals(APPLICATION)) {
     ElementHandle.Package pkg = (ElementHandle.Package) key.getElement();
     ApplicationMetaModel application =
         metaModel.getChild(Key.of(pkg, ApplicationMetaModel.class));
     application.modified = true;
   }
 }
  @Override
  public void postProcessAnnotations(ModuleMetaModel metaModel) {

    // Resolve applications
    for (ApplicationMetaModel application : metaModel.getChildren(ApplicationMetaModel.class)) {
      if (application.modified) {
        metaModel.queue(MetaModelEvent.createUpdated(application));
        application.modified = false;
      }
    }

    //
    context.postProcessAnnotations();
  }