@Override
 public List<?> translate(Function function) {
   Expression ex = function.getParameters().get(0);
   if ((ex instanceof ColumnReference
           && "date"
               .equalsIgnoreCase(
                   ((ColumnReference) ex).getMetadataObject().getNativeType())) // $NON-NLS-1$
       || (!(ex instanceof ColumnReference)
           && !(ex instanceof Literal)
           && !(ex instanceof Function))) {
     ex =
         ConvertModifier.createConvertFunction(
             getLanguageFactory(),
             function.getParameters().get(0),
             TypeFacility.RUNTIME_NAMES.TIMESTAMP);
     function.getParameters().set(0, ex);
   }
   return super.translate(function);
 }