public static XmlElement makeXmlElementInternal(String name, String namespaceName, String namespace, String surfaceForm) {
    { StringHashTable nsHashTable = null;
      XmlElement element = null;

      if (namespace != null) {
        nsHashTable = ((StringHashTable)(Stella.$XML_ELEMENT_HASH_TABLE$.lookup(namespace)));
        if (nsHashTable == null) {
          nsHashTable = StringHashTable.newStringHashTable();
          Stella.$XML_ELEMENT_HASH_TABLE$.insertAt(namespace, nsHashTable);
        }
      }
      else {
        nsHashTable = Stella.$XML_ELEMENT_NULL_NAMESPACE_TABLE$;
      }
      element = ((XmlElement)(nsHashTable.lookup(name)));
      if (element == null) {
        { XmlElement self001 = XmlElement.newXmlElement();

          self001.name = name;
          self001.namespaceName = namespaceName;
          self001.namespaceUri = namespace;
          self001.surfaceForm = surfaceForm;
          self001.elementDictionary = KeyValueList.newKeyValueList();
          element = self001;
        }
        nsHashTable.insertAt(name, element);
      }
      return (element);
    }
  }