public void appendPath(String p_addToPath) throws MalformedURIException {

    if (p_addToPath == null || p_addToPath.trim().length() == 0) {
      return;
    }

    if (!isURIString(p_addToPath)) {
      throw new MalformedURIException(Messages.getString("URI.pathContainsInvalidCharacterShort")); //$NON-NLS-1$
    }

    if (m_path == null || m_path.trim().length() == 0) {
      if (p_addToPath.startsWith("/")) { //$NON-NLS-1$
        m_path = p_addToPath;
      }
      else {
        m_path = "/" + p_addToPath; //$NON-NLS-1$
      }
    }
    else
    if (m_path.endsWith("/")) { //$NON-NLS-1$
      if (p_addToPath.startsWith("/")) { //$NON-NLS-1$
        m_path = m_path.concat(p_addToPath.substring(1));
      }
      else {
        m_path = m_path.concat(p_addToPath);
      }
    }
    else {
      if (p_addToPath.startsWith("/")) { //$NON-NLS-1$
        m_path = m_path.concat(p_addToPath);
      }
      else {
        m_path = m_path.concat("/" + p_addToPath); //$NON-NLS-1$
      }
    }
  }