title: Apache Avro is not generating UUID
body: <p>Avro is not generating UUID class in code for fields no mater what I tried. </p>
  
  <p>Versions: 1.8.2 &amp; 1.9.1</p>
  
  <p>I tried to generate UUID with such schema: </p>
  
  <pre><code>  "type": "record",
    "name": "RecordWithUUID",
    "namespace": "avro",
    "fields": [
      {
        "name": "uuid",
        "type": {
          "type": "string",
          "logicalType": "uuid"
        }
      }
    ]
  }
  </code></pre>
  
  <p>This is the class from Avro project test class <code>TestReflectLogicalTypes</code>::<code>RecordWithUUID</code>
  So, in short this is example of schema that Avro uses to test their code functionality and I expected that it should work.</p>
  
  <p>I run like this to get java code from my scheme:</p>
  
  <p><code>java -jar avro-tools-1.8.2.jar compile schema my_scheme.avsc .</code></p>
  
  <p><code>java -jar avro-tools-1.9.1.jar compile schema my_scheme.avsc .</code></p>
  
  <p>The <strong>initial class code from Avro</strong> is like this:</p>
  
  <pre><code>class RecordWithUUID {
    UUID uuid; // &lt;- UUID (!!!)
  
    @Override
    public int hashCode() {
      return uuid.hashCode();
    }
  
    @Override
    public boolean equals(Object obj) {
      if (obj == null) {
        return false;
      }
      if (!(obj instanceof RecordWithUUID)) {
        return false;
      }
      RecordWithUUID that = (RecordWithUUID) obj;
      return this.uuid.equals(that.uuid);
    }
  }
  </code></pre>
  
  <p>Here is code that I got after generating:</p>
  
  <p><strong>1.8.2 avro-tools from command line</strong></p>
  
  <pre><code>  ..
  
  @SuppressWarnings("all")
  @org.apache.avro.specific.AvroGenerated
  public class RecordWithUUID extends org.apache.avro.specific.SpecificRecordBase implements org.apache.avro.specific.SpecificRecord {
    private static final long serialVersionUID = 9147582668665082277L;
    public static final org.apache.avro.Schema SCHEMA$ = new org.apache.avro.Schema.Parser().parse("{\"type\":\"record\",\"name\":\"RecordWithUUID\",\"namespace\":\"avro\",\"fields\":[{\"name\":\"uuid\",\"type\":{\"type\":\"string\",\"logicalType\":\"uuid\"}}]}");
    public static org.apache.avro.Schema getClassSchema() { return SCHEMA$; }
  
    ..
  
    @Deprecated public java.lang.CharSequence uuid; //&lt;- NO UUID
  
    ..
  </code></pre>
  
  <p><strong>1.9.1 avro-tools from command line</strong></p>
  
  <pre><code> ..
  
  @org.apache.avro.specific.AvroGenerated
  public class RecordWithUUID extends org.apache.avro.specific.SpecificRecordBase implements org.apache.avro.specific.SpecificRecord {
    private static final long serialVersionUID = 9147582668665082277L;
    public static final org.apache.avro.Schema SCHEMA$ = new org.apache.avro.Schema.Parser().parse("{\"type\":\"record\",\"name\":\"RecordWithUUID\",\"namespace\":\"avro\",\"fields\":[{\"name\":\"uuid\",\"type\":{\"type\":\"string\",\"logicalType\":\"uuid\"}}]}");
    public static org.apache.avro.Schema getClassSchema() { return SCHEMA$; }
  
    ..
  
     private java.lang.CharSequence uuid; //&lt;- NO UUID
    ..
  </code></pre>
  
  <p><strong>maven plugin for avro 1.8.2/1.9.1</strong></p>
  
  <pre><code>  ..
  
  @org.apache.avro.specific.AvroGenerated
  public class RecordWithUUID extends org.apache.avro.specific.SpecificRecordBase implements org.apache.avro.specific.SpecificRecord {
    private static final long serialVersionUID = 9147582668665082277L;
    public static final org.apache.avro.Schema SCHEMA$ = new org.apache.avro.Schema.Parser().parse("{\"type\":\"record\",\"name\":\"RecordWithUUID\",\"namespace\":\"avro\",\"fields\":[{\"name\":\"uuid\",\"type\":{\"type\":\"string\",\"avro.java.string\":\"String\",\"logicalType\":\"uuid\"}}]}");
    public static org.apache.avro.Schema getClassSchema() { return SCHEMA$; }
  
    ..
  
     private java.lang.String uuid;//&lt;- NO UUID
    ..
  </code></pre>
  
  <p>So, is it a bug or I'm doing something wrong ?</p>