public Schema find(String name, String namespace) {
    Schema.Type type = PRIMITIVES.get(name);
    if (type != null) {
      return Schema.create(type);
    }

    String fullName = fullName(name, namespace);
    Schema schema = getNamedSchema(fullName);
    if (schema == null) {
      schema = getNamedSchema(name);
    }

    return schema != null ? schema : SchemaResolver.unresolvedSchema(fullName);
  }
@Test
  public void primitivesAreNotCached() {
    EnumSet<Schema.Type> primitives = EnumSet.complementOf(EnumSet.of(Schema.Type.RECORD, Schema.Type.ENUM,
        Schema.Type.FIXED, Schema.Type.UNION, Schema.Type.ARRAY, Schema.Type.MAP));

    ParseContext context = new ParseContext();
    for (Schema.Type type : primitives) {
      Schema first = context.find(type.getName(), null);
      Schema second = context.find(type.getName(), null);
      assertEquals(first, second);
      assertNotSame(first, second);

      first.addProp("logicalType", "brick");
      assertNotEquals(first, second);
    }
  }