code: public void init(String resource, Map<String, String> properties, int navTreeLevel, Locale locale) {
  
          m_sitePath = resource;
          m_properties = properties;
          m_navTreeLevel = navTreeLevel;
          m_locale = locale;
          // init the position value
          m_position = Float.MAX_VALUE;
          try {
              m_position = Float.parseFloat(getProperties().get(CmsPropertyDefinition.PROPERTY_NAVPOS));
          } catch (@SuppressWarnings("unused") Exception e) {
              // m_position will have Float.MAX_VALUE, so navigation element will
              // appear last in navigation
          }
      }
docs: Initialized the member variables of this bean with the values
  provided.<p>
  
  A resource will be in the navigation if at least one of the two properties
  <code>I_CmsConstants.PROPERTY_NAVTEXT</code> or
  <code>I_CmsConstants.PROPERTY_NAVPOS</code> is set. Otherwise
  it will be ignored.<p>
  
  This bean does provides static methods to create a new instance
  from the context of a current CmsObject. Call these static methods
  in order to get a properly initialized bean.<p>
  
  @param resource the name of the resource to extract the navigation
  information from
  @param properties the properties of the resource read from the vfs
  @param navTreeLevel tree level of this resource, for building
  navigation trees
  @param locale The locale for which properties should be accessed.
  
  @see CmsJspNavBuilder#getNavigationForResource()