public Attribute<T> createAttribute( String attributeName, String attributeType)
  {
       Attribute<T> newAttribute;
//       if( definedAttributes.containsKey( attributeName ) )
//       {
//           Err.info(this, "Creating new attribute using same name as old attribute.");
//           Err.info(this, "Earlier attribute is now permanently destroyed.");
//       }
       if( attributeType.equals( INTEGER_TYPE ) )
       {
          newAttribute = new IntegerAttribute<T>( attributeName, attributedSet );
          definedAttributes.put( attributeName, newAttribute );
       }
       else if( attributeType.equals( LONG_TYPE ) )
       {
          newAttribute = new LongAttribute<T>( attributeName, attributedSet );
          definedAttributes.put( attributeName, newAttribute );
       }
       else if( attributeType.equals( DOUBLE_TYPE ) )
       {
          newAttribute = new DoubleAttribute<T>( attributeName, attributedSet );
          definedAttributes.put( attributeName, newAttribute );
       }
       else if( attributeType.equals( STRING_TYPE ) )
       {
          newAttribute = new StringAttribute<T>( attributeName, attributedSet );
          definedAttributes.put( attributeName, newAttribute );
       }
       else if( attributeType.equals( OBJECT_TYPE ) )
       {
          newAttribute = new ObjectAttribute<T>( attributeName, attributedSet );
          definedAttributes.put( attributeName, newAttribute );
       }
       else
       {
          Msg.warn(this, "Unknown attribute type. New Attribute is null");
          newAttribute = null;
       }
       return newAttribute;
  }
Create a new attribute.
@param attributeName The name used to identify this Attribute.
@param attributeType The type of Attribute to construct. Public static
Strings have been defined for the various choices.
Ghidra/Framework/Generic/src/main/java/ghidra/util/graph/attributes/AttributeManager.java