@Override
 public void process(
     DmdlSemantics environment, PropertyDeclaration declaration, AstAttribute attribute) {
   if (Util.checkProperty(environment, declaration, attribute, HiveFieldTrait.TypeKind.TIMESTAMP)
       == false) {
     return;
   }
   HiveFieldTrait trait = HiveFieldTrait.get(declaration);
   trait.setOriginalAst(attribute, false);
   Map<String, AstAttributeElement> elements = AttributeUtil.getElementMap(attribute);
   analyzeElements(environment, attribute, elements, trait);
 }
 private void analyzeElements(
     DmdlSemantics environment,
     AstAttribute attribute,
     Map<String, AstAttributeElement> elements,
     HiveFieldTrait trait) {
   trait.setTimestampTypeInfo();
   environment.reportAll(AttributeUtil.reportInvalidElements(attribute, elements.values()));
 }