@Override
		public boolean equals(Object value) {
			if(value instanceof Type){
				Type t = (Type) value;
				boolean r = true;
				r = r && getType().equals(t.getType());
				if(getKeyType() !=null){
					r = r && getKeyType().equals(t.getKeyType());
				}
				if(getValueType()!=null){
					r = r && getValueType().equals(t.getValueType());
				}
				return r;
			}else if(value instanceof Class){
				return equals(this.getType().equals(value));
			}
			return false;
		}