@Override
  public void handle(
      AnnotationValues<MVCAware> annotation, Annotation source, EclipseNode annotationNode) {
    EclipseType type = EclipseType.typeOf(annotationNode, source);
    if (type.isAnnotation() || type.isInterface()) {
      annotationNode.addError(canBeUsedOnClassAndEnumOnly(MVCAware.class));
      return;
    }

    EclipseUtil.addInterface(type.get(), MVCAwareConstants.MVC_HANDLER_TYPE, source);
    handler.addMVCSupport(type);
    type.editor().rebuild();
  }
  @Override
  public void handle(
      AnnotationValues<CassandraAware> annotation, Annotation source, EclipseNode annotationNode) {
    EclipseType type = EclipseType.typeOf(annotationNode, source);
    if (type.isAnnotation() || type.isInterface()) {
      annotationNode.addError(canBeUsedOnClassAndEnumOnly(CassandraAware.class));
      return;
    }

    EclipseUtil.addInterface(
        type.get(), CassandraAwareConstants.CASSANDRA_CONTRIBUTION_HANDLER_TYPE, source);
    handler.addCassandraProviderField(type);
    handler.addCassandraProviderAccessors(type);
    handler.addCassandraContributionMethods(type);
    type.editor().rebuild();
  }